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()); }
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]); } }
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()); }
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]); } }
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); }
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(); }
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]); }
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; }
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(); }