TEST_F(TestXorCode, FullCodeDecode) { Bytes toTest(8,11); Bytes codes(4,42); XorCode(begin(toTest), end(toTest), codes); XorCode(begin(toTest), end(toTest), codes); EXPECT_EQ(toTest, Bytes(8,11)); }
TEST_F(TestXorCode, PartialCodeDecode32000) { Bytes toTest(32000,11); Bytes codes(16,42); XorCode(begin(toTest)+222, end(toTest)-222, codes); XorCode(begin(toTest)+222, end(toTest)-222, codes); EXPECT_EQ(toTest, Bytes(32000,11)); }
TEST_F(TestXorCode, PartialCodeDecode) { Bytes toTest(8,11); Bytes codes(4,42); XorCode(begin(toTest)+2, end(toTest)-2, codes); XorCode(begin(toTest)+2, end(toTest)-2, codes); EXPECT_EQ(toTest, Bytes(8,11)); }
TEST_F(TestXorCode, FullCodeDecodeArray) { Bytes toTest(8,11); std::array<uint8_t, 4> codes; codes[0] = 42; codes[1] = 42; codes[2] = 42; codes[3] = 42; XorCode(begin(toTest), end(toTest), codes); XorCode(begin(toTest), end(toTest), codes); EXPECT_EQ(toTest, Bytes(8,11)); }
TEST_F(TestXorCode, FullCodeDecodeCArray) { Bytes toTest(8,11); uint8_t codes[4]; codes[0] = 42; codes[1] = 42; codes[2] = 42; codes[3] = 42; // Failed because the template code didn't work as // a wrapper ended up calling itself instead of the // implementation. Thus stack exhaustion. XorCode(begin(toTest), end(toTest), codes); XorCode(begin(toTest), end(toTest), codes); EXPECT_EQ(toTest, Bytes(8,11)); }
TEST_F(TestXorCode, EmptyBufferEmptyKey) { Bytes empty; XorCode(begin(empty), end(empty), empty); // no execptions expected; EXPECT_TRUE(empty.empty()); }
TEST_F(TestXorCode, EmptyBuffer) { Bytes empty; Bytes codes(4,42); XorCode(begin(empty), end(empty), codes); // no execptions expected; EXPECT_TRUE(empty.empty()); }
void c6_packet_encode(unsigned char *dst, unsigned char *src, int len, unsigned char *reordered_key) { XorCode(src, dst, reordered_key, len); }