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)
Ejemplo n.º 9
0
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)