Пример #1
0
    def test_limit_2_one_user(self):
        a = User()

        infection = LimitedInfection()
        infected_classrooms = infection.limited_infection(a, 2)

        self.assertEqual(infected_classrooms.infected, set([a]))
Пример #2
0
    def test_limit_1_two_users_chain(self):
        a = User()
        b = User()

        a.add_coaches(b)

        infection = LimitedInfection()
        infected_classrooms = infection.limited_infection(a, 1)

        self.assertEqual(infected_classrooms.infected, set([a]))
Пример #3
0
    def test_limit_2_two_users_cyclical(self):
        a = User()
        b = User()

        a.add_coaches(b)
        b.add_coaches(a)

        infection = LimitedInfection()
        infected_classrooms = infection.limited_infection(a, 2)

        self.assertEqual(infected_classrooms.infected, set([a, b]))
Пример #4
0
    def test_limit_1_three_users_hierarchical(self):
        a = User()
        b = User()
        c = User()

        a.add_coaches(b)
        a.add_coaches(c)

        infection = LimitedInfection()
        infected_classrooms = infection.limited_infection(a, 1)

        self.assertEqual(infected_classrooms.infected, set([a]))
Пример #5
0
    def test_limit_3_three_users_chain(self):
        a = User()
        b = User()
        c = User()

        a.add_coaches(b)
        b.add_coaches(c)

        infection = LimitedInfection()
        infected_classrooms = infection.limited_infection(a, 3)

        self.assertEqual(infected_classrooms.infected, set([a, b, c]))
Пример #6
0
    def test_multiple_classrooms(self):
        a = User()
        b = User()
        c = User()
        d = User()
        e = User()

        a.add_coaches(b)
        a.add_coaches(c)
        d.add_coaches(e)

        infection = LimitedInfection()
        infected_classrooms = infection.limited_infection(b, 2)

        self.assertEqual(infected_classrooms.infected, set([b, a]))