/* * Test on class PcIdentifier * * Created on: Dec 26, 2019 * Author: devel */ #define BOOST_TEST_MODULE test_pc_identifier #include #include #include #include #include #include #include #include #include #include "../../../src/library/pc_identifier/pc_identifier.hpp" namespace license { namespace test { using namespace std; using namespace license::pc_identifier; /** * Test get and set and compare pc identifier data */ BOOST_AUTO_TEST_CASE(set_and_compare_data) { array data = {0xFF, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42}; PcIdentifier pc_id; pc_id.set_data(data); data[0] = data[0] & 0x1f; BOOST_CHECK_MESSAGE(pc_id.data_match(data), "Data match"); } /** * Test get and set and compare pc identifier data */ BOOST_AUTO_TEST_CASE(compare_wrong_data) { array data = {0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42}; PcIdentifier pc_id; pc_id.set_data(data); data[4] = 0; BOOST_CHECK_MESSAGE(!pc_id.data_match(data), "Data shouldn't match"); } /** * Print a pc identifier and read it from the same string, check the data matches */ BOOST_AUTO_TEST_CASE(print_and_read) { array data = {0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42}; PcIdentifier pc_id; pc_id.set_data(data); pc_id.set_identification_strategy(LCC_API_IDENTIFICATION_STRATEGY::STRATEGY_ETHERNET); string pc_id_str = pc_id.print(); cout << pc_id_str << endl; const PcIdentifier id2(pc_id_str); BOOST_CHECK_MESSAGE(id2.get_identification_strategy() == LCC_API_IDENTIFICATION_STRATEGY::STRATEGY_ETHERNET, "Strategy decoded correctly"); BOOST_CHECK_MESSAGE(id2.data_match(data), "Data deserialized correctly"); } } // namespace test } // namespace license