コード例 #1
0
 def test_init_with_list_of_tuples(self):
     tree = TreeMap([(2, 'B'), (1, 'A'), (3, 'C')])
     assert (tree.root.key, tree.root.value) == (2, 'B')
     assert (tree.root.left.key, tree.root.left.value) == (1, 'A')
     assert (tree.root.right.key, tree.root.right.value )== (3, 'C')
     assert tree.size == 3
     assert tree.is_empty() is False
コード例 #2
0
ファイル: treemap_test.py プロジェクト: jshams/cs-1.3
 def test_get(self):
     tm = TreeMap([(1, 2), (2, 3), (3, 4)])
     assert tm.get(1) == 2
     assert tm.get(2) == 3
     assert tm.get(3) == 4
     with self.assertRaises(ValueError):
         cb.get(4)
コード例 #3
0
 def test_size(self):
     ht = TreeMap()
     assert ht.size == 0
     ht.set('I', 1)
     assert ht.size == 1
     ht.set('V', 5)
     assert ht.size == 2
     ht.set('X', 10)
     assert ht.size == 3
コード例 #4
0
 def test_contains(self):
     ht = TreeMap()
     ht.set('I', 1)
     ht.set('V', 5)
     ht.set('X', 10)
     assert ht.contains('I') is True
     assert ht.contains('V') is True
     assert ht.contains('X') is True
     assert ht.contains('A') is False
コード例 #5
0
 def test_size(self):
     tree = TreeMap()
     assert tree.size == 0
     tree.set('B')
     assert tree.size == 1
     tree.set('A')
     assert tree.size == 2
     tree.set('C')
     assert tree.size == 3
コード例 #6
0
 def test_set(self):
     treemap = TreeMap()
     treemap.set('A', 3)
     assert treemap.size == 1
     assert treemap.get('A') == 3
     treemap.set('A', 3)
     assert treemap.size == 1
コード例 #7
0
 def test_get(self):
     tree = TreeMap([(2, 'B'), (1, 'A'), (3, 'C')])
     assert tree.get(2) == 'B'
     assert tree.get(1) == 'A'
     assert tree.get(3) == 'C'
コード例 #8
0
    def test_values(self):
        tree = TreeMap([(2, 'B'), (1, 'A'), (3, 'C')])
        assert tree.values() == ['A', 'B', 'C']

        tree = TreeMap([('B', 2), ('A', 1), ('C', 3)])
        assert tree.values() == [1,2,3]
コード例 #9
0
 def test_contains(self):
     treemap = TreeMap()
     treemap.set('A', 3)
     assert treemap.contains('A')
     assert treemap.contains('B') is False
コード例 #10
0
 def test_clear(self):
     tm = TreeMap({"key": "Value"})
     tm.clear()
     self.assertSequenceEqual([], list(tm.keys()))
コード例 #11
0
 def test_items(self):
     ht = TreeMap()
     assert ht.items() == []
     ht.set('I', 1)
     assert ht.items() == [('I', 1)]
     ht.set('V', 5)
     self.assertCountEqual(ht.items(), [('I', 1), ('V', 5)])
     ht.set('X', 10)
     self.assertCountEqual(ht.items(), [('I', 1), ('V', 5), ('X', 10)])
コード例 #12
0
 def test_remove_item(self):
     tm = TreeMap({"c": "C", "b": "B", "a": "A"})
     del tm["b"]
     self.assertSequenceEqual(["a", "c"], list(tm.keys()))
コード例 #13
0
 def test_iteration(self):
     tm = TreeMap({"c": "C", "b": "B", "a": "A"})
     keys = [k for k in tm]
     self.assertSequenceEqual(["a", "b", "c"], keys)
コード例 #14
0
ファイル: treemap_test.py プロジェクト: MediBoss/CS-1.3
    def test_set(self):

        treepMap = TreeMap()

        assert treepMap.set('Medi', 123) == False
コード例 #15
0
 def test_fromkeys(self):
     tm = TreeMap.fromkeys("c a b".split())
     assert isinstance(tm, TreeMap)
     self.assertSequenceEqual(["a", "b", "c"], list(tm.keys()))
コード例 #16
0
 def test_contains(self):
     tree = TreeMap([(2, 'B'), (1, 'A'), (3, 'C')])
     assert tree.contains(2)
     assert tree.contains(1)
     assert tree.contains(3)
コード例 #17
0
 def test_items(self):
     tree = TreeMap([(2, 'B'), (1, 'A'), (3, 'C')])
     assert tree.items() == [(1, 'A'), (2, 'B'), (3, 'C')]
コード例 #18
0
 def test_set_and_get(self):
     ht = TreeMap()
     ht.set('I', 1)
     ht.set('V', 5)
     ht.set('X', 10)
     assert ht.get('I') == 1
     assert ht.get('V') == 5
     assert ht.get('X') == 10
     assert ht.length() == 3
     assert ht.size == 3
     with self.assertRaises(KeyError):
         ht.get('A')  # Key does not exist
コード例 #19
0
 def test_length(self):
     ht = TreeMap()
     assert ht.length() == 0
     ht.set('I', 1)
     assert ht.length() == 1
     ht.set('V', 5)
     assert ht.length() == 2
     ht.set('X', 10)
     assert ht.length() == 3
コード例 #20
0
 def test_resize(self):
     ht = TreeMap(2)  # Set init_size to 2
     assert ht.size == 0
     assert len(ht.buckets) == 2
     assert ht.load_factor() == 0
     ht.set('I', 1)
     assert ht.size == 1
     assert len(ht.buckets) == 2
     assert ht.load_factor() == 0.5
     ht.set('V', 5)  # Should trigger resize
     assert ht.size == 2
     assert len(ht.buckets) == 4
     assert ht.load_factor() == 0.5
     ht.set('X', 10)
     assert ht.size == 3
     assert len(ht.buckets) == 4
     assert ht.load_factor() == 0.75
     ht.set('L', 50)  # Should trigger resize
     assert ht.size == 4
     assert len(ht.buckets) == 8
     assert ht.load_factor() == 0.5
コード例 #21
0
ファイル: treemap_test.py プロジェクト: MediBoss/CS-1.3
    def test_init(self):

        treepMap = TreeMap()

        assert treepMap.size == 0
コード例 #22
0
 def test_set(self):
     tree = TreeMap()
     tree.set(2, 'B')
     assert tree.contains(2)
     assert tree.get(2) == 'B'
     tree.set(1, 'A')
     assert tree.contains(1)
     assert tree.get(1) == 'A'
     tree.set(3, 'C')
     assert tree.contains(3)
     assert tree.get(3) == 'C'
コード例 #23
0
 def test_add_item(self):
     tm = TreeMap()
     tm["b"] = "B"
     tm["a"] = "A"
     self.assertSequenceEqual(["a", "b"], list(tm.keys()))
コード例 #24
0
 def test_delete(self):
     tree = TreeMap([(2, 'B'), (1, 'A'), (3, 'C')])
     tree.delete(2)
     assert not tree.contains(2)
     assert tree.contains(1)
     assert tree.contains(3)
     tree.delete(1)
     assert not tree.contains(1)
     assert tree.contains(3)
     tree.delete(3)
     assert tree.is_empty()
     assert not tree.contains(3)
コード例 #25
0
 def test_items(self):
     tm = TreeMap({"c": "C", "b": "B", "a": "A"})
     keys = [k for k, v in tm.items()]
     self.assertSequenceEqual(["a", "b", "c"], keys)
コード例 #26
0
 def test_init(self):
     tree = TreeMap()
     assert tree.root is None
     assert tree.size == 0
     assert tree.is_empty() is True
コード例 #27
0
 def test_values(self):
     tm = TreeMap({"c": "A", "b": "B", "a": "C"})
     self.assertSequenceEqual(["C", "B", "A"], list(tm.values()))
コード例 #28
0
 def test_keys(self):
     ht = TreeMap()
     assert ht.keys() == []
     ht.set('I', 1)
     assert ht.keys() == ['I']
     ht.set('V', 5)
     self.assertCountEqual(ht.keys(), ['I', 'V'])  # Ignore item order
     ht.set('X', 10)
     self.assertCountEqual(ht.keys(), ['I', 'V', 'X'])  # Ignore item order
コード例 #29
0
    def test_initialization(self):
        empty = TreeMap()
        self.assertEqual([], list(empty.keys()))

        non_empty = TreeMap({5: "a", 4: "b", 3: "c"})
        self.assertSequenceEqual([3, 4, 5], list(non_empty.keys()))
コード例 #30
0
 def test_values(self):
     ht = TreeMap()
     assert ht.values() == []
     ht.set('I', 1)
     assert ht.values() == [1]
     ht.set('V', 5)
     self.assertCountEqual(ht.values(), [1, 5])  # Ignore item order
     ht.set('X', 10)
     self.assertCountEqual(ht.values(), [1, 5, 10])  # Ignore item order