void to::test<18>() { liblas::Classification c; c.SetKeyPoint(true); c.SetClass(1); c.SetSynthetic(true); c.SetWithheld(true); ensure(c.IsWithheld()); ensure(c.IsKeyPoint()); ensure(c.IsSynthetic()); ensure_equals(c.GetClass(), 1); ensure_not(c == m_default); c.SetKeyPoint(false); c.SetSynthetic(false); c.SetClass(0); c.SetWithheld(false); ensure_not(c.IsWithheld()); ensure_not(c.IsKeyPoint()); ensure_not(c.IsSynthetic()); ensure_equals(c.GetClass(), 0); liblas::Classification::bitset_type bits1(c); liblas::Classification::bitset_type bits2(m_default); ensure_equals(c, m_default); }
TEST(Serialization, WriteBitsEasy) { QByteArray msg(1, 'a'); QBitArray bits(1, false); Serialization::WriteBitArray(bits, msg, 0); EXPECT_EQ((char)0x00, (char)msg[0]); QByteArray msg1(1, 'a'); QBitArray bits1(0, false); Serialization::WriteBitArray(bits1, msg1, 0); EXPECT_EQ((char)0x00, (char)msg1[0]); QByteArray msg2(1, 'a'); QBitArray bits2(1, true); Serialization::WriteBitArray(bits2, msg2, 0); EXPECT_EQ((char)0x01, (char)msg2[0]); QByteArray msg3(2, 'a'); QBitArray bits3(8, true); Serialization::WriteBitArray(bits3, msg3, 0); EXPECT_EQ((char)0xFF, (char)msg3[0]); EXPECT_EQ((char)'a', (char)msg3[1]); QByteArray msg4(2, 'a'); QBitArray bits4(8, true); Serialization::WriteBitArray(bits4, msg4, 1); EXPECT_EQ((char)'a', (char)msg4[0]); EXPECT_EQ((char)0xFF, (char)msg4[1]); QByteArray msg5(2, 'a'); QBitArray bits5(9, true); Serialization::WriteBitArray(bits5, msg5, 0); EXPECT_EQ((char)0xFF, (char)msg5[0]); EXPECT_EQ((char)0x01, (char)msg5[1]); QByteArray msg6(2, 'a'); QBitArray bits6(10, true); Serialization::WriteBitArray(bits6, msg6, 0); EXPECT_EQ((char)0xFF, (char)msg6[0]); EXPECT_EQ((char)0x03, (char)msg6[1]); }
TEST(Serialization, BitsRequired) { QBitArray bits(0, false); EXPECT_EQ(1, Serialization::BytesRequired(bits)); QBitArray bits2(1, false); EXPECT_EQ(1, Serialization::BytesRequired(bits2)); QBitArray bits3(10, false); EXPECT_EQ(2, Serialization::BytesRequired(bits3)); QBitArray bits4(8, false); EXPECT_EQ(1, Serialization::BytesRequired(bits4)); QBitArray bits5(16, false); EXPECT_EQ(2, Serialization::BytesRequired(bits5)); }