#include "pch.h" #define protected public #define private public #include "../QRCodeLibrary/BitArray.hpp" TEST(CeilDivTests, DividesCeilingResult) { EXPECT_EQ(ceil_div(1, 3), 1); EXPECT_EQ(ceil_div(4, 2), 2); EXPECT_EQ(ceil_div(5, 2), 3); } class BitArrayTests: public ::testing::Test { public: BitArrayTests() : ::testing::Test(), a1(15) {}; void SetUp() override { a1.v[0] = static_cast(0b10101010); a1.v[1] = static_cast(0b11111111); } protected: BitArray a1; }; TEST_F(BitArrayTests, GetsBitByIndex) { EXPECT_EQ(a1.get(10), 1); EXPECT_EQ(a1.get(0), 1); EXPECT_EQ(a1.get(1), 0); } TEST_F(BitArrayTests, Converts_to_string) { EXPECT_EQ(std::string(a1), "101010101111111"); } TEST_F(BitArrayTests, SetsIndividualBit) { a1.set(0, 0); a1.set(1, 1); EXPECT_EQ(a1.get(0), 0); EXPECT_EQ(a1.get(1), 1); } TEST_F(BitArrayTests, SetsMultipleBits) { a1.set(9, 0b00110, 5); EXPECT_EQ(a1.v[1], 0b10011011); a1.set(2, 0b111, 3); EXPECT_EQ(a1.v[0], 0b10111010); }