def test_table_file_operations(): table = Table("person_data.dat") table.set_attributes(["name", "age", "weight"]) table.set_key("name") try: table.populate_initial_data("person_data_four_col.txt", "++++", "\n") except: a = 0 # This code does nothing, but is necessary for the except block else: print("populate_initial_data() must raise an exception when input file has incorrect format.") table.populate_initial_data("person_data_three_col.txt", "++++", "\n") if table.get_size() != 12: print("Table size not correct after populating initial data.") if table.sequential_search("first") != ["Abe Simons", "48", "176"]: print("First row of Table after populating initial data is incorrect.") if table.sequential_search("last") != ["Jules Rory", "25", "167"]: print("Last row of Table after populating initial data is incorrect.") table = Table("inverted_index_table.dat") table.set_type("inverted_index") table.load_one_document("story.txt", "101") if table.get_size() != 347: print("Table size incorrect after loading one document.") if table.sequential_search("first") != ["the", "101"]: print("First row of Table is incorrect after loading one document.") if table.key_search("darigan") != ["darigan", "101"]: print("Table is missing key(s) after loading one document.")
def test_table_getters_and_setters(): table = Table("example_name.dat") if table.get_type() != "data": print("Default Table type must be data.") try: table.get_attributes() except: a = 0 # This code does nothing, but is necessary for the except block else: print("get_attributes() must raise an exception when no attributes are set.") table.set_attributes(["col1", "col2", "col3"]) if table.get_attributes() != ["col1", "col2", "col3"]: print("Attributes not set correctly.") table.set_key("col1") if table.get_key() != "col1": print("Key not set correctly.") try: table.set_key("non_existant_attribute") except: a = 0 # This code does nothing, but is necessary for the except block else: print("set_key() must raise an exception when key is not an attribute.") table.set_type("configuration") if table.get_attributes() != ["table_name", "degree", "list_of_attributes"]: print("Attributes not set correctly for 'configuration' type.") try: table.set_attributes(["incorrect_col1", "incorrect_col2", "incorrect_col3"]) except: a = 0 # This code does nothing, but is necessary for the except block else: print("set_attributes() must raise an exception when wrong attributes are set for 'configuration' type.")