Пример #1
0
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()
Пример #2
0
 def setUp(self):
     guestList = TestUtils().getGuestList()
     self.gm = GuestMatcher(guestList)