import unittest
import retworkx
class TestGraphColoring(unittest.TestCase):
def test_empty_graph(self):
graph = retworkx.PyGraph()
res = retworkx.graph_greedy_color(graph)
self.assertEqual({}, res)
def test_simple_graph(self):
graph = retworkx.PyGraph()
node_a = graph.add_node(1)
node_b = graph.add_node(2)
graph.add_edge(node_a, node_b, 1)
node_c = graph.add_node(3)
graph.add_edge(node_a, node_c, 1)
res = retworkx.graph_greedy_color(graph)
self.assertEqual({0: 0, 1: 1, 2: 1}, res)
def test_simple_graph_large_degree(self):
graph = retworkx.PyGraph()
node_a = graph.add_node(1)
node_b = graph.add_node(2)
graph.add_edge(node_a, node_b, 1)
node_c = graph.add_node(3)
graph.add_edge(node_a, node_c, 1)
graph.add_edge(node_a, node_c, 1)
graph.add_edge(node_a, node_c, 1)
graph.add_edge(node_a, node_c, 1)
graph.add_edge(node_a, node_c, 1)
res = retworkx.graph_greedy_color(graph)
self.assertEqual({0: 0, 1: 1, 2: 1}, res)