示例#1
0
TEST(ReaderTest, TestReadArrayBeyondEnd)
{
    Reader reader;
    uint8_t array[] = {0x55, 0xaa, 0x77};

    reader.Initialize(array);
    ASSERT_THAT(reader.ReadArray(4).empty(), Eq(true));
    ASSERT_FALSE(reader.Status());
}
示例#2
0
TEST(ReaderTest, TestReadArray)
{
    Reader reader;
    const uint8_t array[] = {0x55, 0xaa, 0x77};

    reader.Initialize(array);
    ASSERT_THAT(reader.ReadArray(3), Eq(gsl::make_span(array)));
    ASSERT_TRUE(reader.Status());
}
示例#3
0
TEST(ReaderTest, TestRemainigSizeAtTheEnd)
{
    Reader reader;
    uint8_t array[] = {0x55, 0xaa, 0x77, 0xee, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99};

    reader.Initialize(array);
    reader.ReadByte();
    reader.ReadWordLE();
    reader.ReadDoubleWordLE();
    reader.ReadArray(3);
    reader.ReadByte();
    reader.ReadWordBE();
    ASSERT_THAT(reader.RemainingSize(), Eq(0));
}
示例#4
0
TEST(ReaderTest, TestReadingWithInvalidState)
{
    Reader reader;
    uint8_t array[] = {0x55};

    reader.Initialize(array);
    reader.ReadByte();
    reader.ReadWordLE();
    reader.ReadWordBE();
    reader.ReadDoubleWordLE();
    reader.ReadArray(3);
    reader.ReadByte();
    ASSERT_FALSE(reader.Status());
}
示例#5
0
TEST(ReaderTest, TestReadingMovesPosition)
{
    Reader reader;
    uint8_t array[] = {0x55, 0xaa, 0x77, 0xee, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99};

    reader.Initialize(array);
    ASSERT_THAT(reader.ReadByte(), Eq(0x55));
    ASSERT_THAT(reader.ReadWordLE(), Eq(0x77AA));
    ASSERT_THAT(reader.ReadDoubleWordLE(), Eq(0x332211EEU));
    ASSERT_THAT(reader.ReadArray(3), Eq(gsl::span<const std::uint8_t>(array + 7, 3)));
    ASSERT_THAT(reader.ReadByte(), Eq(0x77));
    ASSERT_THAT(reader.ReadWordBE(), Eq(0x8899));
    ASSERT_TRUE(reader.Status());
}