#include "pch.h" #define protected public #define private public #include "../QRCodeLibrary/QRMatrix.hpp" TEST(QRMatrixTests, CreatesMatrixOfAppropriateSize) { QRMatrix m(4); EXPECT_EQ(m.c.size(), 37); } TEST(QRMatrixTests, DrawsFinderSquare) { QRMatrix m(0); m.draw_finder_square(0, 0); EXPECT_EQ(m.to_string(), "1111111EEEEEEEEEEEEEE\n1000001EEEEEEEEEEEEEE\n1011101EEEEEEEEEEEEEE\n1011101EEEEEEEEEEEEEE\n1011101EEEEEEEEEEEEEE\n1000001EEEEEEEEEEEEEE\n1111111EEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE"); m.draw_finder_square(7, 7); EXPECT_EQ(m.to_string(), "1111111EEEEEEEEEEEEEE\n1000001EEEEEEEEEEEEEE\n1011101EEEEEEEEEEEEEE\n1011101EEEEEEEEEEEEEE\n1011101EEEEEEEEEEEEEE\n1000001EEEEEEEEEEEEEE\n1111111EEEEEEEEEEEEEE\nEEEEEEE1111111EEEEEEE\nEEEEEEE1000001EEEEEEE\nEEEEEEE1011101EEEEEEE\nEEEEEEE1011101EEEEEEE\nEEEEEEE1011101EEEEEEE\nEEEEEEE1000001EEEEEEE\nEEEEEEE1111111EEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE"); m.draw_finder_square(1, 1); EXPECT_EQ(m.to_string(), "1111111EEEEEEEEEEEEEE\n11111111EEEEEEEEEEEEE\n11000001EEEEEEEEEEEEE\n11011101EEEEEEEEEEEEE\n11011101EEEEEEEEEEEEE\n11011101EEEEEEEEEEEEE\n11000001EEEEEEEEEEEEE\nE1111111111111EEEEEEE\nEEEEEEE1000001EEEEEEE\nEEEEEEE1011101EEEEEEE\nEEEEEEE1011101EEEEEEE\nEEEEEEE1011101EEEEEEE\nEEEEEEE1000001EEEEEEE\nEEEEEEE1111111EEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE"); } TEST(QRMatrixTests, DrawsFinderPatterns) { QRMatrix m(0); m.draw_finder_patterns(); EXPECT_EQ(m.to_string(), "11111110EEEEE01111111\n10000010EEEEE01000001\n10111010EEEEE01011101\n10111010EEEEE01011101\n10111010EEEEE01011101\n10000010EEEEE01000001\n11111110EEEEE01111111\n00000000EEEEE00000000\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\nEEEEEEEEEEEEEEEEEEEEE\n00000000EEEEEEEEEEEEE\n11111110EEEEEEEEEEEEE\n10000010EEEEEEEEEEEEE\n10111010EEEEEEEEEEEEE\n10111010EEEEEEEEEEEEE\n10111010EEEEEEEEEEEEE\n10000010EEEEEEEEEEEEE\n11111110EEEEEEEEEEEEE"); } TEST(QRMatrixTests, DrawsPatterns) { BitArray tmp(441); QRMatrix m(1); m.draw_patterns(); EXPECT_EQ(m.to_ascii(), "####### EEEEEEEEE #######\n# # EEEEEEEEE # #\n# ### # EEEEEEEEE # ### #\n# ### # EEEEEEEEE # ### #\n# ### # EEEEEEEEE # ### #\n# # EEEEEEEEE # #\n####### # # # # # #######\n EEEEEEEEE \nEEEEEE#EEEEEEEEEEEEEEEEEE\nEEEEEE EEEEEEEEEEEEEEEEEE\nEEEEEE#EEEEEEEEEEEEEEEEEE\nEEEEEE EEEEEEEEEEEEEEEEEE\nEEEEEE#EEEEEEEEEEEEEEEEEE\nEEEEEE EEEEEEEEEEEEEEEEEE\nEEEEEE#EEEEEEEEEEEEEEEEEE\nEEEEEE EEEEEEEEEEEEEEEEEE\nEEEEEE#EEEEEEEEE#####EEEE\n #EEEEEEE# #EEEE\n####### EEEEEEEE# # #EEEE\n# # EEEEEEEE# #EEEE\n# ### # EEEEEEEE#####EEEE\n# ### # EEEEEEEEEEEEEEEEE\n# ### # EEEEEEEEEEEEEEEEE\n# # EEEEEEEEEEEEEEEEE\n####### EEEEEEEEEEEEEEEEE"); m.place_data(tmp, 0); EXPECT_EQ(m.to_ascii(), "####### # # # # # #######\n# # # # # # # #\n# ### # # # # # # # ### #\n# ### # # # # # # ### #\n# ### # # # # # # # ### #\n# # # # # # # #\n####### # # # # # #######\n # # # # \n# # # # # # # # # # # # #\n # # # # # # # # # # # # \n# # # # # # # # # # # # #\n # # # # # # # # # # # # \n# # # # # # # # # # # # #\n # # # # # # # # # # # # \n# # # # # # # # # # # # #\n # # # # # # # # # # # # \n# # # # # # # # ##### # #\n ## # # ## ## # \n####### # # # # # # # # #\n# # # # # ## ## # \n# ### # # # # # ##### # #\n# ### # # # # # # # # # \n# ### # # # # # # # # # #\n# # # # # # # # # # \n####### # # # # # # # # #"); }