def parse(pref_fname="preferences.txt", groups_fname="groups.txt", terms_fname="terms.txt", assign_fname="output.txt"): preferences = parse_preferences(open(pref_fname).read()) assignments = parse_assignments(open(assign_fname).read()) groups = parse_groups(open(groups_fname).read()) subjects, terms = parse_subjects_and_terms(open(terms_fname).read()) return Configuration(preferences, groups, subjects, terms), assignments
def test_parsing(self): groups = parse_groups('645279:258557 ,258645\n 645279:258600,258567 \n645271 :258627 ,258694,249953') expected = frozenset([ Group(subject=Subject(id=645279), participants=frozenset([Person(id=258557), Person(id=258645)])), Group(subject=Subject(id=645279), participants=frozenset([Person(id=258600), Person(id=258567)])), Group(subject=Subject(id=645271), participants=frozenset([Person(id=258627), Person(id=258694), Person(id=249953)])) ]) self.assertEquals(groups, expected) if __name__ == '__main__': unittest.main()