Ejemplo n.º 1
0
def test_layervisitor_01():
    '''Shapes without layer are set to layer None, the default.'''
    r = rectangle(1000, 1000)
    v = LayersVisitor()
    v.visit(r)
    assert v.layers.keys() == [None]
    assert v.layers[None] == [r]
Ejemplo n.º 2
0
def test_layervisitor_01():
    """Shapes without layer are set to layer None, the default."""
    r = rectangle(1000, 1000)
    v = LayersVisitor()
    v.visit(r)
    assert list(v.layers.keys()) == [None]
    assert v.layers[None] == [r]
Ejemplo n.º 3
0
def test_layersvisitor_02():
    """One paths with layer gorup."""
    r1 = rectangle(1000, 1000)
    l = Layer([r1], 1)
    v = LayersVisitor()
    v.visit(l)
    assert list(v.layers.keys()) == [1]
    assert v.layers[1] == [r1]
Ejemplo n.º 4
0
def test_layersvisitor_02():
    '''One paths with layer gorup.'''
    r1 = rectangle(1000, 1000)
    l = Layer([r1], 1)
    v = LayersVisitor()
    v.visit(l)
    assert v.layers.keys() == [1]
    assert v.layers[1] == [r1]
Ejemplo n.º 5
0
def test_layersvisitor_04():
    """Nested Layers and Groups work as expected."""
    r1 = rectangle(1000, 1000)
    r2 = rectangle(500, 500)
    t3 = isosceles(500, 200)

    l1 = Layer([r1], 1)
    g1 = group([l1, r2])
    l3 = Layer([t3, g1], 3)

    v = LayersVisitor()
    v.visit(l3)

    assert set(v.layers.keys()) == {1, 3}
    assert v.layers[1] == [r1]
    assert v.layers[3] == [t3, r2]
Ejemplo n.º 6
0
def test_layersvisitor_04():
    '''Nested Layers and Groups work as expected.'''
    r1 = rectangle(1000, 1000)
    r2 = rectangle(500, 500)
    t3 = isosceles(500, 200)

    l1 = Layer([r1], 1)
    g1 = group([l1, r2])
    l3 = Layer([t3, g1], 3)

    v = LayersVisitor()
    v.visit(l3)

    assert v.layers.keys() == [1, 3]
    assert v.layers[1] == [r1]
    assert v.layers[3] == [t3, r2]
Ejemplo n.º 7
0
def test_layersvisitor_03():
    """Nested Layers work as expected."""
    r1 = rectangle(1000, 1000)
    r2 = rectangle(500, 500)
    t3 = isosceles(500, 200)

    l1 = Layer([r1], 1)
    l2 = Layer([l1, r2], 2)
    l3 = Layer([t3, l2], 3)

    v = LayersVisitor()
    v.visit(l3)

    assert set(v.layers.keys()) == {1, 2, 3}
    assert v.layers[1] == [r1]
    assert v.layers[2] == [r2]
    assert v.layers[3] == [t3]
Ejemplo n.º 8
0
def test_layersvisitor_03():
    '''Nested Layers work as expected.'''
    r1 = rectangle(1000, 1000)
    r2 = rectangle(500, 500)
    t3 = isosceles(500, 200)

    l1 = Layer([r1], 1)
    l2 = Layer([l1, r2], 2)
    l3  = Layer([t3, l2], 3)

    v = LayersVisitor()
    v.visit(l3)

    assert v.layers.keys() == [1, 2, 3]
    assert v.layers[1] == [r1]
    assert v.layers[2] == [r2]
    assert v.layers[3] == [t3]
Ejemplo n.º 9
0
def test_layervisitor_05():
    """Multiple nestings work as expected."""
    c1, c2, c3 = [circle(1000 * i) for i in range(1, 4)]
    r = rectangle(1000, 1000)
    t = isosceles(1000, 2000)

    l_leaf = Layer([c1], "leaf")
    g1 = Group([l_leaf, c2, c3])
    l_bottom = Layer([g1], "bottom")

    l_med = Layer([l_bottom, r], "med")

    l_top = Layer([l_med, t], "top")

    v = LayersVisitor()
    v.visit(l_top)

    assert sorted(v.layers.keys()) == ["bottom", "leaf", "med", "top"]
    assert v.layers["top"] == [t]
    assert v.layers["med"] == [r]
    assert v.layers["bottom"] == [c2, c3]
    assert v.layers["leaf"] == [c1]
Ejemplo n.º 10
0
def test_layervisitor_05():
    '''Multiple nestings work as expected.'''
    c1, c2, c3 = [circle(1000 * i) for i in range(1, 4)]
    r = rectangle(1000, 1000)
    t = isosceles(1000, 2000)

    l_leaf = Layer([c1], 'leaf')
    g1 = Group([l_leaf, c2, c3])
    l_bottom = Layer([g1], 'bottom')

    l_med = Layer([l_bottom, r], 'med')

    l_top = Layer([l_med, t], 'top')

    v = LayersVisitor()
    v.visit(l_top)

    assert sorted(v.layers.keys()) == ['bottom', 'leaf', 'med', 'top']
    assert v.layers['top'] == [t]
    assert v.layers['med'] == [r]
    assert v.layers['bottom'] == [c2, c3]
    assert v.layers['leaf'] == [c1]
Ejemplo n.º 11
0
def test_layervisitor_05():
    '''Multiple nestings work as expected.'''
    c1, c2, c3 = [circle(1000 * i) for i in range(1, 4)]
    r = rectangle(1000, 1000)
    t = isosceles(1000, 2000)

    l_leaf = Layer([c1], 'leaf')
    g1 = Group([l_leaf, c2, c3])
    l_bottom = Layer([g1], 'bottom')

    l_med = Layer([l_bottom, r], 'med')

    l_top = Layer([l_med, t], 'top')

    v = LayersVisitor()
    v.visit(l_top)

    assert sorted(v.layers.keys()) == ['bottom', 'leaf', 'med', 'top']
    assert v.layers['top']      == [t]
    assert v.layers['med']      == [r]
    assert v.layers['bottom']  == [c2, c3]
    assert v.layers['leaf']     == [c1]
Ejemplo n.º 12
0
def interactive_plot_layers(shape, plotter):
    '''Sorts given `shape` by layers and interactively plots,
    requesting the use to change page every time a layer is done printing.'''
    shape = copy.deepcopy(shape)
    v = AffixFormatVisitor()
    v.visit(shape)
    v = LayersVisitor()
    v.visit(shape)
    print 'Layers collected: ', v.layers.keys()

    for layer in sorted(v.layers.keys()):
        print 'Please set/change paper for layer [%s].' % layer
        reply = raw_input('Hit ENTER to plot layer, "n" to skip:')
        if reply.lower() == 'n':
            continue
        print 'Plotting layer [%s]...' % layer
        plotter.write(v.layers[layer])
        print 'Done plotting layer [%s].' % layer
Ejemplo n.º 13
0
def interactive_plot_layers(shape, plotter):
    """Sorts given `shape` by layers and interactively plots,
    requesting the use to change page every time a layer is done printing."""
    shape = copy.deepcopy(shape)
    v = AffixFormatVisitor()
    v.visit(shape)
    v = LayersVisitor()
    v.visit(shape)
    print("Layers collected: ", list(v.layers.keys()))

    for layer in sorted(v.layers.keys()):
        print("Please set/change paper for layer [%s]." % layer)
        reply = input('Hit ENTER to plot layer, "n" to skip:')
        if reply.lower() == "n":
            continue
        print("Plotting layer [%s]..." % layer)
        plotter.write(v.layers[layer])
        print("Done plotting layer [%s]." % layer)