void CTest_StringMap::testResetL()
{
    auto_ptr<CGenericStringMap> map( CGenericStringMap::NewL() );
    map->SetDeletor(&DeleteHBufC);

    _LIT(KKey1, "avain1");
    _LIT(KValue1, "tavara");
    auto_ptr<HBufC> buf1( HBufC::NewL(100) );
    buf1->Des().Append( KValue1 );
    map->AddDataL( KKey1, buf1.release() );

    _LIT(KKey2, "avain2");
    _LIT(KValue2, "tavaraa taas");
    auto_ptr<HBufC> buf2( HBufC::NewL(100) );
    buf2->Des().Append( KValue2 );
    map->AddDataL( KKey2, buf2.release() );

    TS_ASSERT_EQUALS( map->Count(), 2 );
    map->Reset();
    TS_ASSERT_EQUALS( map->Count(), 0 );

    auto_ptr<HBufC> buf3( HBufC::NewL(100) );
    buf3->Des().Append( KValue2 );
    map->AddDataL( KKey2, buf3.release() );
    TS_ASSERT_EQUALS( map->Count(), 1 );

    HBufC* b = (HBufC*)(map->GetData( KKey2 ));
    TS_ASSERT(b);
    TS_ASSERT_EQUALS_DESCRIPTOR(*b, KValue2());
}
Esempio n. 2
0
TEST(RealVectorOperators, PlusBuf) {
    double inputData[] = {1, 3, 5, 7.12, 2, 4, 6, 8};
    unsigned numElements = sizeof(inputData)/sizeof(inputData[0]);
	NimbleDSP::RealVector<double> buf1(inputData, numElements);
	NimbleDSP::RealVector<double> buf2(inputData, numElements);
    NimbleDSP::RealVector<double> buf3(0);
    
    buf3 = buf1 + buf2;
    EXPECT_EQ(numElements, buf3.vec.size());
    for (unsigned i=0; i<buf3.vec.size(); i++) {
        EXPECT_EQ(2*inputData[i], buf3.vec[i]);
    }
}
Esempio n. 3
0
TEST(StringBufferTest, Initial)
{
    StringBuffer<LChar> buf1;
    EXPECT_EQ(0u, buf1.length());
    EXPECT_FALSE(buf1.characters());

    StringBuffer<LChar> buf2(0);
    EXPECT_EQ(0u, buf2.length());
    EXPECT_FALSE(buf2.characters());

    StringBuffer<LChar> buf3(1);
    EXPECT_EQ(1u, buf3.length());
    EXPECT_TRUE(buf3.characters());
}
Esempio n. 4
0
TEST(RealVectorOperators, DivideBuf) {
    double inputData[] = {100, 300, 500, 700.12, 200, 400, 600, 800};
    double inputData2[] = {-1, 2, 4, 6, 1, 3, 5, 7};
    unsigned numElements = sizeof(inputData)/sizeof(inputData[0]);
	NimbleDSP::RealVector<double> buf1(inputData, numElements);
	NimbleDSP::RealVector<double> buf2(inputData2, numElements);
    NimbleDSP::RealVector<double> buf3(0);
    
    buf3 = buf1 / buf2;
    EXPECT_EQ(numElements, buf3.vec.size());
    for (unsigned i=0; i<buf3.vec.size(); i++) {
        EXPECT_EQ(inputData[i]/inputData2[i], buf3.vec[i]);
    }
}
Esempio n. 5
0
TEST(VectorOperators, Equality) {
    double inputData[] = {1, 3, 5, 7.12, 2, 4, 6, 8};
    double inputData2[] = {0, 2, 4, 6, 1, 3, 5, 7};
    double inputData3[] = {0, 2, 4, 6, 1, 3, 5, 7, 8};
    unsigned numElements = sizeof(inputData)/sizeof(inputData[0]);
    unsigned numElements3 = sizeof(inputData3)/sizeof(inputData3[0]);
	NimbleDSP::Vector<double> buf1(inputData, numElements);
	NimbleDSP::Vector<double> buf2(inputData2, numElements);
	NimbleDSP::Vector<double> buf3(inputData3, numElements3);
    
    EXPECT_FALSE(buf1 == buf2);
    EXPECT_TRUE(buf1 != buf2);
    EXPECT_FALSE(buf3 == buf2);
    EXPECT_TRUE(buf3 != buf2);
    EXPECT_TRUE(buf1 == buf1);
    EXPECT_FALSE(buf1 != buf1);
}
Esempio n. 6
0
void ManyFields::serialize(carbon::CarbonProtocolWriter& writer) const {
  writer.writeStructBegin();
  writer.writeField(1 /* field id */, buf1());
  writer.writeField(2 /* field id */, buf2());
  writer.writeField(3 /* field id */, buf3());
  writer.writeField(4 /* field id */, buf4());
  writer.writeField(5 /* field id */, buf5());
  writer.writeField(6 /* field id */, buf6());
  writer.writeField(7 /* field id */, buf7());
  writer.writeField(8 /* field id */, buf8());
  writer.writeField(9 /* field id */, buf9());
  writer.writeField(10 /* field id */, buf10());
  writer.writeField(11 /* field id */, buf11());
  writer.writeField(12 /* field id */, buf12());
  writer.writeField(13 /* field id */, buf13());
  writer.writeField(14 /* field id */, buf14());
  writer.writeField(15 /* field id */, buf15());
  writer.writeField(16 /* field id */, buf16());
  writer.writeField(17 /* field id */, buf17());
  writer.writeField(18 /* field id */, buf18());
  writer.writeField(19 /* field id */, buf19());
  writer.writeField(20 /* field id */, buf20());
  writer.writeField(21 /* field id */, buf21());
  writer.writeField(22 /* field id */, buf22());
  writer.writeField(23 /* field id */, buf23());
  writer.writeField(24 /* field id */, buf24());
  writer.writeField(25 /* field id */, buf25());
  writer.writeField(26 /* field id */, buf26());
  writer.writeField(27 /* field id */, buf27());
  writer.writeField(28 /* field id */, buf28());
  writer.writeField(29 /* field id */, buf29());
  writer.writeField(30 /* field id */, buf30());
  writer.writeField(31 /* field id */, buf31());
  writer.writeField(32 /* field id */, buf32());
  writer.writeField(33 /* field id */, buf33());
  writer.writeField(34 /* field id */, buf34());
  writer.writeField(35 /* field id */, buf35());
  writer.writeField(36 /* field id */, buf36());
  writer.writeField(37 /* field id */, buf37());
  writer.writeField(38 /* field id */, buf38());
  writer.writeField(39 /* field id */, buf39());
  writer.writeField(40 /* field id */, buf40());
  writer.writeFieldStop();
  writer.writeStructEnd();
}
Esempio n. 7
0
void StringTestCase::ScopedBuffers()
{
    // wxString relies on efficient buffers, verify they work as they should

    const char *literal = "Hello World!";

    // non-owned buffer points to the string passed to it
    wxScopedCharBuffer sbuf = wxScopedCharBuffer::CreateNonOwned(literal);
    CPPUNIT_ASSERT( sbuf.data() == literal );

    // a copy of scoped non-owned buffer still points to the same string
    wxScopedCharBuffer sbuf2(sbuf);
    CPPUNIT_ASSERT( sbuf.data() == sbuf2.data() );

    // but assigning it to wxCharBuffer makes a full copy
    wxCharBuffer buf(sbuf);
    CPPUNIT_ASSERT( buf.data() != literal );
    CPPUNIT_ASSERT_EQUAL( literal, buf.data() );

    wxCharBuffer buf2 = sbuf;
    CPPUNIT_ASSERT( buf2.data() != literal );
    CPPUNIT_ASSERT_EQUAL( literal, buf.data() );

    // Check that extending the buffer keeps it NUL-terminated.
    size_t len = 10;

    wxCharBuffer buf3(len);
    CPPUNIT_ASSERT_EQUAL('\0', buf3.data()[len]);

    wxCharBuffer buf4;
    buf4.extend(len);
    CPPUNIT_ASSERT_EQUAL('\0', buf4.data()[len]);

    wxCharBuffer buf5(5);
    buf5.extend(len);
    CPPUNIT_ASSERT_EQUAL('\0', buf5.data()[len]);
}
Esempio n. 8
0
int main(int argc, char *argv[])
{
	buffer_t buf;
	buf+=10;
	buf.put_char(' ');
	buf+=10.12345;
	buf.put_char(' ');
	for (int i=0; i<16;++i)
		buf.print_hex(i);
	printf("%s\n", buf.c_str());

	char tmp[256];
	buffer_t buf2(tmp, sizeof tmp);
	buf2 += 100;
	buf2 += " abcdefg";
	printf("%s\n", buf2.c_str());

	buffer_t buf3(4);
	buf3 += 333;
	buf3 += " 666";
	printf("%s\n", buf3.c_str());

	buffer_t buf4 = buf;
	buffer_t buf5 = buf2;
	buffer_t buf6 = buf3;
	printf("%s\n", buf4.c_str());
	printf("%s\n", buf5.c_str());
	printf("%s\n", buf6.c_str());

    Config conf("./conf", "test.conf");
    conf.parse();
    printf("abc=[%s]\n", conf["abc"].c_str());
    printf("err=[%s]\n", conf["err"].c_str());
    printf("key err=[%s]\n", conf["key err"].c_str());
	return 0;
}
Esempio n. 9
0
void ManyFields::deserialize(carbon::CarbonProtocolReader& reader) {
  reader.readStructBegin();
  while (true) {
    const auto pr = reader.readFieldHeader();
    const auto fieldType = pr.first;
    const auto fieldId = pr.second;

    if (fieldType == carbon::FieldType::Stop) {
      break;
    }

    switch (fieldId) {
      case 1: {
        reader.readField(buf1(), fieldType);
        break;
      }
      case 2: {
        reader.readField(buf2(), fieldType);
        break;
      }
      case 3: {
        reader.readField(buf3(), fieldType);
        break;
      }
      case 4: {
        reader.readField(buf4(), fieldType);
        break;
      }
      case 5: {
        reader.readField(buf5(), fieldType);
        break;
      }
      case 6: {
        reader.readField(buf6(), fieldType);
        break;
      }
      case 7: {
        reader.readField(buf7(), fieldType);
        break;
      }
      case 8: {
        reader.readField(buf8(), fieldType);
        break;
      }
      case 9: {
        reader.readField(buf9(), fieldType);
        break;
      }
      case 10: {
        reader.readField(buf10(), fieldType);
        break;
      }
      case 11: {
        reader.readField(buf11(), fieldType);
        break;
      }
      case 12: {
        reader.readField(buf12(), fieldType);
        break;
      }
      case 13: {
        reader.readField(buf13(), fieldType);
        break;
      }
      case 14: {
        reader.readField(buf14(), fieldType);
        break;
      }
      case 15: {
        reader.readField(buf15(), fieldType);
        break;
      }
      case 16: {
        reader.readField(buf16(), fieldType);
        break;
      }
      case 17: {
        reader.readField(buf17(), fieldType);
        break;
      }
      case 18: {
        reader.readField(buf18(), fieldType);
        break;
      }
      case 19: {
        reader.readField(buf19(), fieldType);
        break;
      }
      case 20: {
        reader.readField(buf20(), fieldType);
        break;
      }
      case 21: {
        reader.readField(buf21(), fieldType);
        break;
      }
      case 22: {
        reader.readField(buf22(), fieldType);
        break;
      }
      case 23: {
        reader.readField(buf23(), fieldType);
        break;
      }
      case 24: {
        reader.readField(buf24(), fieldType);
        break;
      }
      case 25: {
        reader.readField(buf25(), fieldType);
        break;
      }
      case 26: {
        reader.readField(buf26(), fieldType);
        break;
      }
      case 27: {
        reader.readField(buf27(), fieldType);
        break;
      }
      case 28: {
        reader.readField(buf28(), fieldType);
        break;
      }
      case 29: {
        reader.readField(buf29(), fieldType);
        break;
      }
      case 30: {
        reader.readField(buf30(), fieldType);
        break;
      }
      case 31: {
        reader.readField(buf31(), fieldType);
        break;
      }
      case 32: {
        reader.readField(buf32(), fieldType);
        break;
      }
      case 33: {
        reader.readField(buf33(), fieldType);
        break;
      }
      case 34: {
        reader.readField(buf34(), fieldType);
        break;
      }
      case 35: {
        reader.readField(buf35(), fieldType);
        break;
      }
      case 36: {
        reader.readField(buf36(), fieldType);
        break;
      }
      case 37: {
        reader.readField(buf37(), fieldType);
        break;
      }
      case 38: {
        reader.readField(buf38(), fieldType);
        break;
      }
      case 39: {
        reader.readField(buf39(), fieldType);
        break;
      }
      case 40: {
        reader.readField(buf40(), fieldType);
        break;
      }
      default: {
        reader.skip(fieldType);
        break;
      }
    }
  }
  reader.readStructEnd();
}