| 20 | namespace mdf::test { |
| 21 | |
| 22 | TEST(Cn4Block, TestProperties) { |
| 23 | Cn4Block channel; |
| 24 | |
| 25 | EXPECT_EQ(channel.Index(), 0); |
| 26 | EXPECT_STREQ(channel.BlockType().c_str(), "CN"); |
| 27 | |
| 28 | EXPECT_EQ(channel.MetaData(), nullptr); |
| 29 | auto* meta = channel.CreateMetaData(); |
| 30 | EXPECT_EQ(channel.MetaData(), meta); |
| 31 | |
| 32 | channel.Name(kUtf8Chinese.data()); |
| 33 | std::cout << "Name: " << channel.Name() << std::endl; |
| 34 | EXPECT_STREQ(channel.Name().c_str(), kUtf8Chinese.data() ); |
| 35 | |
| 36 | channel.Description(kUtf8SuperHero.data()); |
| 37 | std::cout << "Description: " << channel.Description() << std::endl; |
| 38 | meta = channel.MetaData(); |
| 39 | std::cout << meta->XmlSnippet() << std::endl; |
| 40 | EXPECT_STREQ(channel.Description().c_str(), kUtf8SuperHero.data() ); |
| 41 | |
| 42 | EXPECT_FALSE(channel.IsUnitValid()); // Test default |
| 43 | channel.Unit(kUnit.data()); |
| 44 | EXPECT_STREQ(channel.Unit().c_str(), kUnit.data() ); |
| 45 | EXPECT_TRUE(channel.IsUnitValid()); |
| 46 | |
| 47 | EXPECT_EQ(channel.Flags(), 0); // Test default |
| 48 | channel.Flags(0xAAAA); |
| 49 | EXPECT_EQ(channel.Flags(), 0xAAAA); |
| 50 | channel.Flags(0); // Reset flags for the time being |
| 51 | |
| 52 | EXPECT_EQ(channel.Type(), ChannelType::FixedLength); // Test default |
| 53 | for (uint8_t type = 0; type <= static_cast<uint8_t>(ChannelType::VirtualData); ++type) { |
| 54 | channel.Type(static_cast<ChannelType>(type)); |
| 55 | EXPECT_EQ(channel.Type(), static_cast<ChannelType>(type)); |
| 56 | } |
| 57 | |
| 58 | EXPECT_EQ(channel.Sync(), ChannelSyncType::None); // Test default |
| 59 | for (uint8_t sync = 0; sync <= static_cast<uint8_t>(ChannelSyncType::Index); ++sync) { |
| 60 | channel.Sync(static_cast<ChannelSyncType>(sync)); |
| 61 | EXPECT_EQ(channel.Sync(), static_cast<ChannelSyncType>(sync)); |
| 62 | } |
| 63 | |
| 64 | EXPECT_EQ(channel.DataType(), ChannelDataType::UnsignedIntegerLe); // Test default. |
| 65 | for (uint8_t data = 0; data <= static_cast<uint8_t>(ChannelDataType::ComplexBe); ++data) { |
| 66 | channel.DataType(static_cast<ChannelDataType>(data)); |
| 67 | EXPECT_EQ(channel.DataType(), static_cast<ChannelDataType>(data)); |
| 68 | } |
| 69 | |
| 70 | // EXPECT_EQ(channel.DataBytes(), 0); // Test default. Destroyed by previous loop |
| 71 | for (uint64_t nof_bytes = 0; nof_bytes < 64; ++nof_bytes) { |
| 72 | channel.DataBytes(nof_bytes); |
| 73 | EXPECT_EQ(channel.DataBytes(), nof_bytes) << "Expected: " << nof_bytes; |
| 74 | } |
| 75 | |
| 76 | EXPECT_FALSE(channel.IsDecimalUsed()); // Default |
| 77 | channel.Decimals(8); |
| 78 | EXPECT_EQ(channel.Decimals(),8); |
| 79 | EXPECT_TRUE(channel.IsDecimalUsed()); |
nothing calls this directly
no test coverage detected