class GuestMatcherTests(unittest.TestCase): def setUp(self): guestList = TestUtils().getGuestList() self.gm = GuestMatcher(guestList) def testIsPermutationValid(self): invalidPermutation1 = [self.gm.guestList[0], self.gm.guestList[2], self.gm.guestList[1]] invalidPermutation2 = [self.gm.guestList[1], self.gm.guestList[2], self.gm.guestList[0]] validPermutation = [self.gm.guestList[2], self.gm.guestList[0], self.gm.guestList[1]] self.assertTrue(self.gm._isPermutationValid(validPermutation)) self.assertFalse(self.gm._isPermutationValid(invalidPermutation1)) self.assertFalse(self.gm._isPermutationValid(invalidPermutation2)) def testGetMatches(self): matches = self.gm.getMatches() self.assertEquals( matches, {"John": self.gm.guestList[2], "Jack": self.gm.guestList[0], "Julia": self.gm.guestList[1]} ) def testGetMatchesWithNoValidPermutation(self): self.gm.guestList[0].unauthorizedMatches.add("Julia") with self.assertRaises(RuntimeError): self.gm.getMatches()
def setUp(self): guestList = TestUtils().getGuestList() self.gm = GuestMatcher(guestList)