Ejemplo n.º 1
0
 def test_clear(self):
     x = MultiSet()
     x.insert(3)
     x.insert(2)
     x.insert(234)
     x.clear()
     self.assertEqual(repr(x), 'MultiSet([])')
Ejemplo n.º 2
0
 def test_empty_set_1(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     self.assertEqual(x.isdisjoint(y), True)
Ejemplo n.º 3
0
 def test_empty_correct_add(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     z = x + y
     self.assertEqual(repr(z), 'MultiSet([1, 2, 3, None])')
Ejemplo n.º 4
0
 def test_empty_correct_iand(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     x &= y
     self.assertEqual(repr(x), 'MultiSet([])')
Ejemplo n.º 5
0
    def test_len_with_set(self):
        x = MultiSet()
        x.insert(True)
        x.insert(True)
        x.insert(234)
        self.assertEqual(len(x), 3)

        def test_len_without_set(self):
            x = MultiSet()
            self.assertEqual(len(x), 0)
Ejemplo n.º 6
0
 def test_insert_with_numbers(self):
     x = MultiSet()
     x.insert(3)
     x.insert(2)
     x.insert(42)
     x.insert(1)
     y = MultiSet()
     y.insert(x)
     self.assertEqual(repr(y), 'MultiSet([MultiSet([1, 2, 3, 42])])')
Ejemplo n.º 7
0
 def test_with_diff_set(self):
     x = MultiSet()
     x.insert(3)
     x.insert(50)
     y = MultiSet()
     y.insert(3)
     y.insert(2)
     y.insert(50)
     self.assertEqual(x <= y, True)
Ejemplo n.º 8
0
 def test_equal_different_set(self):
     x = MultiSet()
     x.insert(3)
     x.insert(2)
     y = MultiSet()
     y.insert(3)
     y.insert(234)
     y.insert(1)
     self.assertEqual(x == y, False)
Ejemplo n.º 9
0
 def test_diff_elements_1(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(4)
     y.insert(5)
     y.insert(6)
     self.assertEqual(x.isdisjoint(y), True)
Ejemplo n.º 10
0
 def test_with_same_set(self):
     x = MultiSet()
     x.insert(3)
     x.insert(2)
     x.insert(50)
     y = MultiSet()
     y.insert(3)
     y.insert(2)
     y.insert(50)
     self.assertEqual(y <= x, True)
Ejemplo n.º 11
0
 def test_with_wrong_set(self):
     x = MultiSet()
     x.insert(3)
     x.insert(2)
     x.insert(50)
     y = MultiSet()
     y.insert(7)
     y.insert(5)
     y.insert(7680)
     self.assertEqual(y <= x, False)
Ejemplo n.º 12
0
 def test_same_elements(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(1)
     y.insert(2)
     y.insert(3)
     self.assertEqual(x.isdisjoint(y), False)
Ejemplo n.º 13
0
 def test_unbalanced_correct_iand(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(2)
     x.insert(55)
     x &= y
     self.assertEqual(repr(x), 'MultiSet([2])')
Ejemplo n.º 14
0
 def test_correct_and(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(1)
     y.insert(2)
     y.insert(5)
     z = y & x
     self.assertEqual(repr(z), 'MultiSet([1, 2])')
Ejemplo n.º 15
0
 def test_not_correct_isub(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(1)
     y.insert(2)
     y.insert(3)
     x -= y
     self.assertEqual(repr(x), 'MultiSet([])')
Ejemplo n.º 16
0
 def test_correct_isub(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(1)
     y.insert(2)
     y.insert(5)
     y -= x
     self.assertEqual(repr(y), 'MultiSet([5])')
Ejemplo n.º 17
0
 def test_correct_sub_2(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(1)
     y.insert(2)
     y.insert(5)
     z = x - y
     self.assertEqual(repr(z), 'MultiSet([3])')
Ejemplo n.º 18
0
 def test_correct_and_2(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(4)
     y.insert(5)
     y.insert(6)
     z = x & y
     self.assertEqual(repr(z), 'MultiSet([])')
Ejemplo n.º 19
0
 def test_correct_add_2(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(4)
     y.insert(5)
     y.insert(6)
     z = x + y
     self.assertEqual(repr(z), 'MultiSet([1, 2, 3, 4, 5, 6])')
Ejemplo n.º 20
0
 def test_correct_iand_2(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(3)
     y.insert(2)
     y.insert(6)
     x &= y
     self.assertEqual(repr(x), 'MultiSet([2, 3])')
Ejemplo n.º 21
0
 def test_correct_add(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     y = MultiSet()
     y.insert(4)
     y.insert(5)
     z = y + x
     self.assertEqual(repr(z), 'MultiSet([1, 2, 3, 4, 5])')
Ejemplo n.º 22
0
class Test_Multielement_MultiSet(unittest.TestCase):
    
    def setUp(self):
        self.test1 = MultiSet()
        self.test1.insert(1)
        self.test1.insert(1)
        self.test1.insert(1)
        self.test1.insert(2)
        self.test1.insert(3)
        self.test2 = MultiSet()
        self.test2.insert(1)
        self.test2.insert(3)
        self.test3 = MultiSet()
        self.test3.insert(1)
        self.test3.insert(2)
        self.test3.insert(3)
        self.test4 = MultiSet()
        test = None
        
    def tearDown(self):
        self.test1 = None
        self.test2 = None
        self.test3 = None
        self.test4 = None
        test = None
    
    def test_element(self):
        self.assertTrue(self.test1.__contains__(1))
        self.assertFalse(self.test1.__contains__(5))
        self.assertEqual(self.test1.count(1), 3)
        self.assertEqual(len(self.test1), 5)
        self.assertEqual(self.test1.__repr__(), "MultiSet([1, 1, 1, 2, 3])")
        self.test1.remove(5)
        self.assertEqual(len(self.test1), 5)
        self.test1.remove(1)
        self.test1.remove(3)
        self.assertEqual(len(self.test1), 3)
        self.test1.clear()
        self.assertEqual(len(self.test1), 0)
        self.assertEqual(self.test1.__repr__(), "MultiSet([])")
   
    def test_compare_method_emptyll(self):
        self.assertFalse(self.test1 == self.test2)
        self.assertFalse(self.test1 <= self.test2)
        self.assertTrue(self.test2 <= self.test1)
        self.assertFalse(self.test1 <= self.test3)
        
    def test_sub_method(self):
        self.assertEqual(len(self.test1 - self.test2), 3)
        self.assertEqual(len(self.test2 - self.test1), 0)
    
    def test_isub_method(self):
        self.test1 -= self.test2
        self.assertEqual(len(self.test1), 3)
    
    def test_isub_method2(self):
        self.test2 -= self.test1
        self.assertEqual(len(self.test2), 0)
     
    def test_add_method(self):
        test = self.test1 + self.test2
        self.assertEqual(len(test), 7)
       
    def test_isadd_method(self):
        self.test1 += self.test2
        self.assertEqual(len(self.test1), 7)
    
    def test_and_method(self):
        self.assertEqual(len(self.test1&self.test2), 2)
    
    def test_iand_method(self):
        self.test1 &= self.test2
        self.assertEqual(len(self.test1), 2)
    
    def test_iand__method2(self):
        self.test1 &= self.test4
        self.assertEqual(len(self.test1), 0)
        
    def test_isdisjoint_method2(self):
        self.assertFalse(self.test1.isdisjoint(self.test2))
Ejemplo n.º 23
0
class Test_Oneelement_MultiSet(unittest.TestCase):
    """ A class test one element multiset.
    """
    
    def setUp(self):
        self.test1 = MultiSet()
        self.test1.insert(5)
        self.test2 = MultiSet()
        self.test2.insert(5)
        self.test3 = MultiSet()
        self.test3.insert(6)
        
    def tearDown(self):
        self.test1 = None
        self.test2 = None
        self.test3 = None
    
    def test_oneelement(self):
        """ test __contains__, count, len, remove insert 
            clear repr method in one element multiset.
        """
        self.assertTrue(self.test1.__contains__(5), \
                        "check contains method which the element in set")
        self.assertFalse(self.test1.__contains__(6), \
                        "check contains method which the element in set")        
        self.assertEqual(self.test1.count(5), 1, \
                         "count method which element in list")
        self.assertEqual(len(self.test1), 1, "len method when set has element")
        self.assertEqual(self.test1.__repr__(), "MultiSet([5])", \
                         "repr method when set has element")
        #check remove method
        self.test1.remove(5)
        self.assertFalse(self.test1.__contains__(5), \
                         "contains method which element not in set")
        self.assertEqual(self.test1.count(5), 0, \
                         "count method which element not in set")
        self.assertEqual(len(self.test1), 0)
        self.assertEqual(self.test1.__repr__(), "MultiSet([])", \
                         "repr method when set has no element")
        #check insert method and clear method
        self.test1.insert(1)
        self.test1.clear()
        self.assertEqual(self.test1.__repr__(), "MultiSet([])", \
                         "repr method when set has no element")
    
    def test_compare_method_emptyll(self):
        """ test __eq__, __le__ method.
        """
        self.assertTrue(self.test1 == self.test2, "__eq__ in two same set")
        self.assertFalse(self.test1 == self.test3, \
                         "__eq__ in two difference set")
        self.assertTrue(self.test1 <= self.test2, "__le__ in two same set")
        self.assertFalse(self.test1 == self.test3, \
                         "__le__ in two difference set")
    
    def test_sub_method(self):
        self.assertEqual(len(self.test1 - self.test2), 0)
        self.assertEqual(len(self.test3 - self.test2), 1)
    
    def test_isub_method(self):
        self.test1 -= self.test2
        self.assertEqual(len(self.test1), 0)
    
    def test_isub_method2(self):
        self.test1 -= self.test3
        self.assertEqual(len(self.test1), 1)
     
    def test_add_method(self):
        self.assertEqual(len(self.test1+self.test2), 2)
       
    def test_isadd_method(self):
        self.test1 += self.test2
        self.assertEqual(len(self.test1), 2)
    
    def test_and_method(self):
        self.assertEqual(len(self.test1&self.test2), 1)
    
    def test_and_method2(self):
        self.assertEqual(len(self.test1&self.test3), 0)
        self.assertEqual(len(self.test1), 1)
        
    def test_iand_method(self):
        self.test1 &= self.test2
        self.assertEqual(len(self.test1), 1)
    
    def test_iand_method2(self):
        self.test1 &= self.test3
        self.assertEqual(len(self.test1), 0)    
     
    def test_isdisjoint_method(self):
        self.assertTrue(self.test1.isdisjoint(self.test3))
    
    def test_isdisjoint_method2(self):
        self.assertFalse(self.test1.isdisjoint(self.test2))
Ejemplo n.º 24
0
 def test_remove_with_valid_num(self):
     x = MultiSet()
     x.insert(True)
     x.insert(True)
     x.insert(234)
     self.assertEqual(x.remove(1), 1)
Ejemplo n.º 25
0
 def test_remove_without_valid_num(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     self.assertEqual(x.remove(22), None)
Ejemplo n.º 26
0
 def test_insert_with_bool(self):
     x = MultiSet()
     x.insert(True)
     x.insert(False)
     x.insert(True)
     self.assertEqual(repr(x), 'MultiSet([0, 1, 1])')
Ejemplo n.º 27
0
 def test_equal_same_set(self):
     x = MultiSet()
     x.insert(3)
     x.insert(2)
     x.insert(234)
     x.insert(1)
     y = MultiSet()
     y.insert(3)
     y.insert(2)
     y.insert(234)
     y.insert(1)
     self.assertEqual(x == y, True)
Ejemplo n.º 28
0
 def test_remove_without_middle_num(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     self.assertEqual(x.remove(2), 2)
Ejemplo n.º 29
0
 def test_remove_without_end_num(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     self.assertEqual(x.remove(3), 3)
Ejemplo n.º 30
0
 def test_count_with_one(self):
     x = MultiSet()
     x.insert(1)
     x.insert(2)
     x.insert(3)
     self.assertEqual(x.count(2), 1)
Ejemplo n.º 31
0
 def test_count_with_multiple(self):
     x = MultiSet()
     x.insert(1)
     x.insert(1)
     x.insert(3)
     self.assertEqual(x.count(23), 0)
Ejemplo n.º 32
0
class Test_Multielement_Str_MultiSet(unittest.TestCase):
    
    def setUp(self):
        self.test1 = MultiSet()
        self.test1.insert('a')
        self.test1.insert('z')
        self.test1.insert('c')
        self.test2 = MultiSet()
        self.test2.insert('c')
        self.test2.insert('a')
        self.test2.insert('z')
        self.test2.insert('b')
        self.test2.insert('a')
        self.test2.insert('d')
        self.test3 = MultiSet()
        self.test3.insert('n')
        self.test3.insert('m')
        self.test4 = MultiSet()
                
    def tearDown(self):
        self.test1 = None
        self.test2 = None
        self.test3 = None
        self.test4 = None
    
    def test_element(self):
        self.assertTrue(self.test1.__contains__('a'))
        self.assertFalse(self.test1.__contains__('b'))
        self.assertEqual(self.test1.count('a'), 1)
        self.assertEqual(self.test2.count('a'), 2)
        self.assertEqual(len(self.test1), 3)
        self.assertEqual(len(self.test2), 6)
        self.assertEqual(self.test1.__repr__(), "MultiSet(['a', 'c', 'z'])")
        self.test1.remove('b')
        self.assertEqual(len(self.test1), 3)
        self.test1.remove('a')
        self.assertEqual(len(self.test1), 2)
        self.test1.clear()
        self.assertEqual(len(self.test1), 0)
        self.assertEqual(self.test1.__repr__(), "MultiSet([])")
    
    def test_compare_method_emptyll(self):
        self.assertFalse(self.test1 == self.test2)
        self.assertFalse(self.test3 <= self.test2)
        self.assertTrue(self.test1 <= self.test2)
    
    def test_compare_method_emptyll_2(self):
        self.assertFalse(self.test1 == self.test4)
        self.assertFalse(self.test1 <= self.test4)
        self.assertFalse(self.test3 <= self.test4)    
        
    def test_sub_method(self):
        self.assertEqual(len(self.test2 - self.test1), 3)
        self.assertEqual(len(self.test3 - self.test2), 2)
    
    def test_sub_method_2(self):
        self.assertEqual(len(self.test4 - self.test1), 0)
        self.assertEqual(len(self.test4 - self.test2), 0)    
    
    def test_isub_method(self):
        self.test2 -= self.test1
        self.assertEqual(len(self.test1), 3)
    
    def test_isub_method_2(self):
        self.test4 -= self.test1
        self.assertEqual(len(self.test4), 0)    
    
    def test_isub_method_3(self):
        self.test3 -= self.test2
        self.assertEqual(len(self.test3), 2)
    
    def test_add_method(self):
        self.assertEqual(len(self.test1+self.test2), 9)
        self.assertEqual(len(self.test3+self.test2), 8)
       
    def test_isadd_method(self):
        self.test1 += self.test2
        self.assertEqual(len(self.test1), 9)
    
    def test_and_method(self):
        self.assertEqual(len(self.test1&self.test2), 3)
        self.assertEqual(len(self.test3&self.test2), 0)
    
    def test_and_method_2(self):
        self.assertEqual(len(self.test1&self.test4), 0)
        self.assertEqual(len(self.test3&self.test4), 0)    
    
    def test_iand_method(self):
        self.test1 &= self.test2
        self.assertEqual(len(self.test1), 3)  
    
    def test_iand_method_2(self):
        self.test3 &= self.test2
        self.assertEqual(len(self.test3), 0)     
        
    def test_isdisjoint_method(self):
        self.assertFalse(self.test1.isdisjoint(self.test2))
        self.assertTrue(self.test3.isdisjoint(self.test2))
        self.assertTrue(self.test1.isdisjoint(self.test4))
Ejemplo n.º 33
0
 def test_repr_with_obj(self):
     x = MultiSet()
     x.insert(3)
     x.insert(2)
     x.insert(1)
     self.assertEqual(repr(x), 'MultiSet([1, 2, 3])')