def test_use_mapping_in_selection(): goals = Goals('a') for i, c in enumerate('bcdefghij'): goals.add(c) goals.select(i + 2) e = Enumeration(goals) e.select(0) assert e.all(keys='name,select') == { 1: {'name': 'a', 'select': 'prev'}, 2: {'name': 'b', 'select': None}, 3: {'name': 'c', 'select': None}, 4: {'name': 'd', 'select': None}, 5: {'name': 'e', 'select': None}, 6: {'name': 'f', 'select': None}, 7: {'name': 'g', 'select': None}, 8: {'name': 'h', 'select': None}, 9: {'name': 'i', 'select': None}, 0: {'name': 'j', 'select': 'select'}, } e.add('k') e.select(1) e.select(6) assert e.all(keys='name,select') == { 11: {'name': 'a', 'select': 'prev'}, 12: {'name': 'b', 'select': None}, 13: {'name': 'c', 'select': None}, 14: {'name': 'd', 'select': None}, 15: {'name': 'e', 'select': None}, 16: {'name': 'f', 'select': 'select'}, 17: {'name': 'g', 'select': None}, 18: {'name': 'h', 'select': None}, 19: {'name': 'i', 'select': None}, 10: {'name': 'j', 'select': None}, 21: {'name': 'k', 'select': None}, }
def test_dot_export_open_view(): g = Enumeration(Goals('Root')) g.add('Middle') g.add('Top', 2) g.add('Closed') g.select(4) g.toggle_close() assert dot_export(g) == '''digraph g {
def test_simple_top_enumeration_workflow(): e = Enumeration(Goals('root')) e.add('1') e.add('2') e.select(2) e.next_view() e.select(2) assert e.all() == { 1: {'name': '1'}, 2: {'name': '2'} }
def test_dot_export_zoomed_goal_tree(): g = Enumeration(Zoom(Goals('Root goal'))) g.add('Hidden intermediate') g.add('Zoom root', 2) g.add('Hidden neighbour', 2) g.add('Visible top', 3) g.toggle_link(4, 5) g.select(3) for i in range(8): g.add('Additional %d' % (i + 3), 3) g.toggle_zoom() assert dot_export(g) == '''digraph g {
def test_simple_open_enumeration_workflow(): e = Enumeration(Goals('Root')) e.add('1') e.add('2') e.select(2) assert e.all(keys='name,select,open,edge') == { 1: {'name': 'Root', 'select': 'prev', 'open': True, 'edge': [2, 3]}, 2: {'name': '1', 'select': 'select', 'open': True, 'edge': []}, 3: {'name': '2', 'select': None, 'open': True, 'edge': []}, } e.toggle_close() assert e.all(keys='name,select,open,edge') == { 1: {'name': 'Root', 'select': 'select', 'open': True, 'edge': [2]}, 2: {'name': '2', 'select': None, 'open': True, 'edge': []} }
def test_dot_export_full_view(): g = Enumeration(Goals('Root')) g.add('Middle') g.add('Top', 2) g.add('Closed') g.select(4) g.toggle_close() g.next_view() g.next_view() g.select(1) assert dot_export(g) == '''digraph g { node [shape=box]; 1 [label="1: Root", color=red, style=filled, fillcolor=gray]; 2 [label="2: Middle", color=red]; 3 [label="3: Top", color=red, style="bold,filled", fillcolor=lightgray]; 4 [label="4: Closed", color=green]; 2 -> 1 [color=black]; 4 -> 1 [color=gray]; 3 -> 2 [color=black]; }''' g.hold_select() g.select(3) assert dot_export(g) == '''digraph g {
def test_dot_export_top_view(): g = Enumeration(Goals('Root')) g.add('Middle') g.add('Top', 2) g.add('Closed') g.add('More closed', 3) # close 'More closed' g.select(5) g.toggle_close() # close 'Closed' g.select(4) g.toggle_close() g.next_view() assert dot_export(g) == '''digraph g {