def test_get_correct_weight_recursive(self): root = Disk(name='root', weight=5, children=['leaf1', 'leaf2']) leaf1 = Disk('leaf1', weight=3) leaf2 = Disk('leaf2', weight=3) self.assertEqual(correct_weight_recursive(root, [root, leaf1, leaf2]), (11, None))
def test_get_correct_weight_recursive_invalid_weight(self): root = Disk(name='root', weight=5, children=['node1']) node1 = Disk('node1', weight=1, children=['leaf1', 'leaf2', 'leaf3']) leaf1 = Disk('leaf1', weight=3) leaf2 = Disk('leaf2', weight=5) leaf3 = Disk('leaf3', weight=3) self.assertEqual( correct_weight_recursive(root, [root, leaf1, leaf2, leaf3, node1]), (15, 3))
def test_find_root_single(self): self.assertEqual(find_root_name([Disk(name='root', children=[])]), 'root')
def test_get_correct_weight_recursive_base(self): root = Disk(name='root', weight=5, children=[]) self.assertEqual(correct_weight_recursive(root, [root]), (5, None))
def test_parse_disk_with_single_child(self): self.assertEqual(parse_disk('abc (1337) -> def'), Disk(name='abc', weight=1337, children=['def']))
def test_parse_disk_without_children(self): self.assertEqual(parse_disk('abc (1337)'), Disk(name='abc', weight=1337))
def test_find_root_one_layer_unordered(self): self.assertEqual( find_root_name([ Disk(name='leaf', weight=1), Disk(name='root', children=['leaf']) ]), 'root')