// // Copyright 2018 Ettus Research, a National Instruments Company // // SPDX-License-Identifier: GPL-3.0-or-later // #include #include #include using namespace boost::assign; class upper_case_char { public: upper_case_char(char ch) {value = ch;} static upper_case_char from_string(std::string str) { return upper_case_char(toupper(str[0])); } std::string to_string() { return std::string(1, value); } private: char value; }; BOOST_AUTO_TEST_CASE(test_eeprom_duplicate_check) { const uhd::dict curr_eeprom = map_list_of ("0","A") ("1","B") ("2","C") ; const uhd::dict new_eeprom_no_dups = map_list_of ("0","d") ("1","e") ; const uhd::dict new_eeprom_dups_in_curr = map_list_of ("0","b") ; const uhd::dict new_eeprom_dups_in_new = map_list_of ("0","c") ("1","c") ; const uhd::dict new_eeprom_dups_in_both = map_list_of ("0","b") ("1","B") ; const std::vector keys = {"0","1","2"}; BOOST_CHECK_EQUAL(check_for_duplicates( "TEST", new_eeprom_no_dups, curr_eeprom, "Test Value", keys), false); BOOST_CHECK(check_for_duplicates( "TEST", new_eeprom_dups_in_curr, curr_eeprom, "Test Value", keys)); BOOST_CHECK(check_for_duplicates( "TEST", new_eeprom_dups_in_new, curr_eeprom, "Test Value", keys)); BOOST_CHECK(check_for_duplicates( "TEST", new_eeprom_dups_in_both, curr_eeprom, "Test Value", keys)); }