QRCodeLibrary/tests/QRMatrix_test.cpp

46 lines
3.9 KiB
C++

#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####### # # # # # # # # #");
}