Exemple #1
0
 def setUp(self):
     self.vial_1 = obj.Vial(3, [1, 2, 3])
     self.vial_2 = obj.Vial(3)
     self.vial_3 = obj.Vial(5, [1, 2])
     self.vial_4 = obj.Vial(3, [1, 1])
     self.vial_5 = obj.Vial(3, [10])
     self.vial_board = obj.VialBoard(
         [self.vial_1, self.vial_2, self.vial_4, self.vial_5])
Exemple #2
0
    def test_is_empty(self):
        vial_1 = obj.Vial(3, [])
        vial_2 = obj.Vial(4)
        vial_3 = obj.Vial(2, [1])

        self.assertTrue(vial_1.is_empty())
        self.assertTrue(vial_2.is_empty())
        self.assertFalse(vial_3.is_empty())
Exemple #3
0
    def test_pop(self):
        vial_1 = obj.Vial(3, [1, 2, 3])
        x = vial_1.pop()
        self.assertEqual(x, 3)
        self.assertEqual(vial_1, [1, 2])

        vial_2 = obj.Vial(3)
        with self.assertRaises(IndexError):
            vial_2.pop()
Exemple #4
0
    def test_append(self):
        vial_1 = obj.Vial(2)
        vial_1.append(1)
        self.assertEqual(vial_1, [1])

        vial_1.append(2)
        self.assertEqual(vial_1, [1, 2])

        vial_3 = obj.Vial(2, [1, 1])
        with self.assertRaises(ex.VialIsFullException):
            vial_3.append(1)
Exemple #5
0
    def test_is_appendable(self):
        vial_1 = obj.Vial(2)
        self.assertTrue(vial_1.can_accept(1))

        vial_2 = obj.Vial(1, [0])
        self.assertFalse(vial_2.can_accept(0))
        self.assertFalse(vial_2.can_accept(1))

        vial_3 = obj.Vial(2, [0])
        self.assertFalse(vial_3.can_accept(1))
        self.assertTrue(vial_3.can_accept(0))
Exemple #6
0
 def test_check_type_list_of_vials(self):
     l_1 = [[], [1, 2]]
     l_2 = 5
     v1 = obj.Vial(5)
     l_3 = [v1]
     self.assertFalse(obj.check_type_list_of_vials(l_1))
     self.assertFalse(obj.check_type_list_of_vials(l_2))
     self.assertTrue(obj.check_type_list_of_vials(l_3))
Exemple #7
0
    def test_check_board_arguments_meet_requirements(self):
        vial_1 = obj.Vial(3, [1, 2, 3])
        vial_2 = obj.Vial(3)
        vial_3 = obj.Vial(5, [1, 2])

        obj.check_board_arguments_meet_requirements([vial_1, vial_2])

        with self.assertRaises(AssertionError):
            obj.check_board_arguments_meet_requirements(
                [vial_1, vial_2, vial_3])
        with self.assertRaises(AssertionError):
            obj.check_board_arguments_meet_requirements([vial_1])
        with self.assertRaises(AssertionError):
            obj.check_board_arguments_meet_requirements([vial_1, 5])
        with self.assertRaises(AssertionError):
            obj.check_board_arguments_meet_requirements([])
        with self.assertRaises(AssertionError):
            obj.check_board_arguments_meet_requirements([1, 2, 2])
Exemple #8
0
    def test_raise_exception_if_not_list_of_lists(self):
        l_1 = [[], [1, 2]]
        l_2 = [1, []]
        l_3 = 5
        v1 = obj.Vial(5)
        l_4 = [v1]

        obj.raise_exception_if_not_list_of_lists(l_1)
        with self.assertRaises(TypeError):
            obj.raise_exception_if_not_list_of_lists(l_2)
        with self.assertRaises(TypeError):
            obj.raise_exception_if_not_list_of_lists(l_3)
        with self.assertRaises(TypeError):
            obj.raise_exception_if_not_list_of_lists(l_4)
Exemple #9
0
    def test_init(self):
        vial = obj.Vial(5)
        self.assertIsInstance(vial, obj.Vial)
        self.assertEqual(len(vial), 0)
        self.assertEqual(vial, [])
        self.assertEqual(vial.max_size, 5)

        vial = obj.Vial(4, [1, 2, 3])
        self.assertEqual(vial, [1, 2, 3])

        with self.assertRaises(AssertionError):
            obj.Vial(2, [1, 2, 3])
        with self.assertRaises(AssertionError):
            obj.Vial(0, [1, 2, 3])
        with self.assertRaises(AssertionError):
            obj.Vial(0)
        with self.assertRaises(AssertionError):
            obj.Vial(4.5, [5])
        with self.assertRaises(TypeError):
            obj.Vial(4, 5)
Exemple #10
0
 def test_init_from_vial(self):
     vial_1 = obj.Vial(4, [1, 2, 3])
     vial_2 = obj.Vial(5, vial_1)
     self.assertEqual(vial_1, vial_2)
     self.assertEqual(5, vial_2.max_size)
Exemple #11
0
 def test_is_full(self):
     vial_1 = obj.Vial(3, [1, 2, 3])
     vial_2 = obj.Vial(4, [1, 2, 3])
     self.assertTrue(vial_1.is_full())
     self.assertFalse(vial_2.is_full())