예제 #1
0
class TestAgent_Good_Input(unittest.TestCase):

    def setUp(self):
        Supervisors, Projects, Students = Hierarchy(3), Hierarchy(2), Hierarchy(1)
        """"
        Some Supervisors
        """
        self.KB = Agent("1", Supervisors, capacities=[0, 1], preferences=None, abilities=None, name="Ken Brown")
        self.UK = Agent("2", Supervisors, capacities=[1, 2], preferences=None, abilities=None, name="Uli Kraehmer")
        self.RS = Agent("3", Supervisors, capacities=[2, 2], preferences=None, abilities=None, name="Richard Steiner")
        self.TB = Agent("4", Supervisors, capacities=[1,3], preferences=None, abilities=None, name="Tara Brendle")
        self.AB = Agent("5", Supervisors, capacities=[0,1], preferences=None, abilities=None, name="Andy Baker")

        """
        Some projects
        """
        self.Hopf = Agent("1", Projects, capacities=[0, 1], preferences=[self.UK, self.KB, self.AB],abilities=None
                          , name="Hopf algebras")
        self.Alg_no = Agent("2", Projects, capacities=[0, 1], preferences=[self.KB, self.AB], abilities=None,
                            name="Algebraic number theory")
        self.Cat_thy = Agent("3", Projects, capacities=[0, 1], preferences=[self.RS, self.UK], abilities=None,
                             name="Category Theory")
        self.Group_thy = Agent("4", Projects, capacities=[0, 1], preferences=[self.TB, self.AB], abilities=None,
                               name="Group Theory")
        self.Topology = Agent("5", Projects, capacities=[0, 1], preferences=[self.AB, self.TB, self.RS],
                              abilities=None, name="Topology")

        """
        Some students
        """

        self.Paul = Agent("0700874", Students, [0, 1], preferences=[self.Hopf, self.Alg_no, self.Group_thy],
                          abilities=None, name="Paul Gilmartin")
        self.Scott = Agent("0700875", Students, [0, 1], preferences=[self.Alg_no, self.Hopf], abilities=None,
                           name="Scott Gilmartin")
        self.Jim = Agent("0700876", Students, [0, 1], preferences=[self.Cat_thy, self.Topology, self.Hopf], abilities=None,
                         name="Jimmy Boyd")
        self.Rachael = Agent("0700877", Students, [0,1], preferences=[self.Group_thy, self.Alg_no, self.Cat_thy],
                             abilities=None, name="Rachael Hayhoe")
        self.Nameless = Agent("0700878", Students, [0,1], preferences=[self.Topology], abilities=None, name=None)



    def test_give_name_1(self):
        self.Nameless.give_name("Big Man")
        self.assertEqual("Big Man", self.Nameless.name)

    def test_give_name_2(self):
        self.Paul.give_name("Paul G")
        self.assertEqual("Paul G", self.Paul.name)

    def test_upper_capacity_1(self):
        self.assertEqual(self.KB.upper_capacity, 1)

    def test_upper_capacity_2(self):
        self.assertEqual(self.TB.upper_capacity, 3)

    def test_preference_position_1(self):
        self.assertEqual(self.Paul.preference_position(self.Hopf), 1)

    def test_preference_position_2(self):
        self.assertEqual(self.Topology.preference_position(self.RS), 3)

    def test_lower_capacity_1(self):
        self.assertEqual(self.AB.lower_capacity, 0)

    def test_lower_capacity_2(self):
        self.assertEqual(self.RS.lower_capacity, 2)

    def test_capacity_difference_1(self):
        self.assertEqual(self.RS.capacity_difference, 0)

    def test_capacity_difference_2(self):
        self.assertEqual(self.Alg_no.capacity_difference, 1)

    if __name__ == "__main__" :
        unittest.main()