def test_non_graphic_sequence_3(self): expected = False sequence = [4, 4, 3, 2] vertices = ['A', 'B', 'C', 'D'] _, actual = hha(vertices, sequence) self.assertEqual(expected, actual)
def test_non_graphic_sequence_two(self): expected = False sequence = [4, 4, 3, 3, 2, 2, 2, 2, 1] vertices = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'] _, actual = hha(vertices, sequence) self.assertEqual(expected, actual)
def test_barnoy_req_3_by_n(self): n_sequence = [4, 6, 8, 10, 12, 14, 16] for n in n_sequence: sequence = [3] * n expected = True _, actual = hha(None, sequence) with self.subTest(): # check if the expected is equal to actual self.assertEqual(expected, actual)
def test_barnoy_req_2_by_n(self): n_sequence = [6, 7, 8, 9, 10, 11, 12] for n in n_sequence: sequence = [2] * n expected = True _, actual = hha(None, sequence) with self.subTest(): # check if the expected is equal to actual self.assertEqual(expected, actual)
def test_graphic_sequence_3(self): # adjacency list that we expect expected = True sequence = [3, 3, 3, 3, 3, 3, 2, 2] # returning the keys and sort them vertices = ['A', 'B', 'C', 'D', 'E'] _, actual = hha(vertices, sequence) # check if the expected is equal to actual self.assertEqual(expected, actual)
def test_graphic_in_class_example_one(self): # adjacency list that we expect expected = True sequence = [4, 4, 3, 2, 2, 2, 2, 1] # returning the keys and sort them vertices = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'] _, actual = hha(vertices, sequence) # check if the expected is equal to actual self.assertEqual(expected, actual)
def test_barnoy_req_k_by_n(self): k_sequence = [1, 2, 3, 4, 5, 6] for k in k_sequence: sequence = [] while k > 0: sequence.extend([k] * 2) k = k - 1 expected = True _, actual = hha(None, sequence) with self.subTest(): # check if the expected is equal to actual self.assertEqual(expected, actual)
def test_barnoy_task_four(self): n_sequence = [6, 7, 8, 9] i_sequence_end = [5, 6, 7, 8] for n_index in range(0, len(n_sequence)): n = n_sequence[n_index] i_sequence = [x for x in range(1, i_sequence_end[n_index] + 1)] for i in i_sequence: sequence = self.sequence_for_task_four(n, i) expected = not self.is_sequence_sum_for_task_four_odd(sequence) _, actual = hha(None, sequence) with self.subTest(): # check if the expected is equal to actual self.assertEqual(expected, actual)
def main_ui_logic(): # user initial prompt logic print("Enter the sequence of numbers please: ") user_input = input(">> ") # user sequence input processing sequence = [int(val) for val in user_input.split(',')] adjacency_lst, is_graphic = hha(None, sequence.copy()) # user post prompt logic if is_graphic: print(f"The provided sequence is GRAPHIC!!! Yay.") display_graphic_graph(adjacency_lst, sequence) else: print(f"The degree sequence, {sequence}, is not graphic. :(")
def test_graphic_in_class_example_one(self): # adjacency list that we expect expected = { 'A': ['B', 'C', 'D', 'E'], 'B': ['A', 'C', 'F', 'G'], 'C': ['A', 'B', 'D'], 'D': ['A', 'C'], 'E': ['A', 'F'], 'F': ['B', 'E'], 'G': ['B', 'H'], 'H': ['G'] } sequence = [4, 4, 3, 2, 2, 2, 2, 1] # returning the keys and sort them vertices = sorted(expected.keys()) actual, _ = hha(vertices, sequence) # check if the expected is equal to actual self.assertEqual(expected, actual)