예제 #1
0
def test_02():
    "insert/remove"
    ns = init_testing(False)
    model = ns['model']
    frac = Fraction([Characters(u'Zähler')], [Characters(u'Nenner')])
    model.insert(0, mk_textmodel(frac))
    model.insert_text(6, 'test')
    model.remove(6, 7)
예제 #2
0
def test_00():
    "cell"
    ns = init_testing(False)
    cell = Cell([Characters(u'1234567890')], [Characters(u'abcdefghij')])
    assert len(cell.input) == 10
    assert len(cell.output) == 10
    assert len(cell) == 23

    texel = cell.insert(1, Characters(u'x'))
    assert texel.get_text()[1:2] == u'x'
예제 #3
0
def test_04():
    ns = init_testing(False)
    model = ns['model']
    frac = Fraction([Characters(u'Zähler')], [Characters(u'Nenner')])
    model.insert(0, mk_textmodel(frac))
    root = Root([Characters(u'1+x')])
    model.insert(2, mk_textmodel(root))

    view = ns['view']
    view.cursor = 5
    view.selection = 3, 6
    return ns
예제 #4
0
def test_10():
    "Factory"
    ns = init_testing(False)
    cell = Cell([Characters(u'a')], [Characters(u'b')])
    factory = Updater(TextModel(''))
    boxes = factory.create_boxes(cell)
    assert len(boxes) == 1
    cellbox = boxes[0]
    assert len(cellbox) == 5
    assert len(cell) == 5

    check_box(cellbox)
    check_box(cellbox.input)
    check_box(cellbox.output)
    return ns
예제 #5
0
def test_03():
    "find_cell"
    tmp1 = TextModel(u'for a in range(3):\n    print a')
    tmp2 = TextModel(u'for a in range(10):\n    print a')
    cell1 = Cell([tmp1.texel], [Characters(u'')])
    cell2 = Cell([tmp2.texel], [Characters(u'')])

    model = TextModel('')
    model.insert(len(model), mk_textmodel(cell1))
    model.insert(len(model), mk_textmodel(cell2))

    assert find_cell(model.texel, 1) == (0, cell1)
    assert find_cell(model.texel, len(cell1) - 1) == (0, cell1)

    assert find_cell(model.texel, len(cell1)) == (len(cell1), cell2)
    assert find_cell(model.texel, len(cell1) + 5) == (len(cell1), cell2)
예제 #6
0
def test_03():
    ns = init_testing(False)
    model = mk_textmodel(Characters('0123456789'))
    frac = mk_textmodel(
        Fraction([Characters(u'Zähler')], [Characters(u'Nenner')]))
    tmodel = model.get_text()
    tfrac = frac.get_text()
    for i in range(len(tfrac)):
        frac.insert(i, model)

        tmp = tfrac[:i] + tmodel + tfrac[i:]
        #print repr(frac.get_text()), repr(tmp)
        assert tmp == frac.get_text()

        frac.remove(i, i + len(model))
        assert tfrac == frac.get_text()
예제 #7
0
def test_04():
    "copy cells"
    model = TextModel('')
    tmp = TextModel(u'for a in range(5):\n    print a')
    cell = Cell([tmp.texel], [Characters(u'')])
    model.insert(len(model), mk_textmodel(cell))
    tmp = model.copy(0, len(model))
    model.insert(0, tmp)
예제 #8
0
def test_05():
    ns = init_testing(True)
    model = ns['model']
    model.remove(0, len(model))
    model.insert_text(0, '\n')

    frac = Fraction([Characters(u'Zähler')], [Characters(u'Nenner')])
    model.insert(1, mk_textmodel(frac))
    model.insert_text(1, 'Bruch = ')
    n = len(model)
    root = Root([Characters(u'1+x')])
    model.insert(n, mk_textmodel(root))
    model.insert_text(n, '\nWurzel = ')

    view = ns['view']
    view.cursor = 5
    view.selection = 3, 6
    return ns
예제 #9
0
def test_01():
    ns = init_testing(True)
    model = ns['model']
    model.remove(0, len(model))
    model.insert(0, TextModel(__doc__))

    text = """Try to edit the following formulas:

        tan(x) = """
    model.insert(len(model), TextModel(text))
    frac = Fraction([Characters(u'sin(x)')], [Characters(u'cos(x)')])
    model.insert(len(model), mk_textmodel(frac))
    model.insert(len(model), TextModel("\n\n        "))
    root = Root([Characters(u'2')])
    model.insert(len(model), mk_textmodel(root))
    model.insert(len(model), TextModel("= 1.4142135623730951\n"))
    view = ns['view']
    view.cursor = len(model)
    return ns
예제 #10
0
def test_06():
    "Fraction"

    box1 = FractionBox([TextBox(u'Zähler')], [TextBox(u'Nenner')])
    box2 = FractionBox([TextBox(u'Zähler1')], [box1])
    assert box2.depth == box1.height + box1.depth - box1.m / 2.

    # Jetzt mit echten Abmessungen
    ns = init_testing(False)
    model = ns['model']
    model.remove(0, len(model))
    frac = Fraction([Characters(u'Zähler')], [Characters(u'Nenner')])
    model.insert(0, mk_textmodel(frac))
    model.insert(14, mk_textmodel(frac))

    layout = ns['layout']
    box2 = layout.childs[0].childs[0].childs[0]
    box1 = box2.nominator.content.childs[-1]
    assert box2.depth == box1.height + box1.depth - box1.m / 2.

    row = layout.childs[0].childs[0]
    assert row.height == box2.height
    assert row.depth == box2.depth
    return ns
예제 #11
0
def test_00():
    ns = init_testing(False)
    frac = Fraction([Characters(u'Zähler')], [Characters(u'Nenner')])
    factory = Factory()
    box = factory.Fraction_handler(frac, 0, len(frac))[0]
    assert len(box) == len(frac)
    assert check_box(box, frac)
    assert check_box(box.nominator)
    assert check_box(box.denominator)

    model = ns['model']
    model.insert(len(model), mk_textmodel(frac))
    #model.texel.dump()

    model.insert_text(0, "x")
    model.remove(0, 1)
    #model.texel.dump()

    model.insert_text(1, "x")
    model.remove(1, 2)
    #model.texel.dump()

    layout = ns['layout']
    assert check_box(layout)
예제 #12
0
def test_11():
    ns = init_testing(False)
    model = ns['model']
    model.remove(0, len(model))
    tmp = TextModel(u'for a in range(5):\n    print a')
    cell = Cell([tmp.texel], [Characters(u'')])
    model.insert(len(model), mk_textmodel(cell))

    assert find_cell(model.texel, 1) == (0, cell)

    view = ns['view']
    view.index = 1
    #print model.texel
    view.execute()

    check_box(view.updater.layout, model.texel)
    return ns
예제 #13
0
def test_02():
    "execute"
    ns = init_testing(False)
    cell = Cell([Characters(u'1+2')], [Characters(u'')])
    cell = cell.execute()
    assert cell.output.get_text() == '3'
    #print repr(cell.output.get_text())

    cell = Cell([Characters(u'for a in range(2):\n    print a')],
                [Characters(u'')])
    cell = cell.execute()
    assert cell.output.get_text() == u'0\n1\n'

    cell = Cell([Characters(u'asdsad')], [Characters(u'')])
    cell = cell.execute()
    #print repr(cell.output.get_text())
    assert cell.output.get_text() == u'  File "input[3]", line 1, ' \
        'in <module>\nNameError: name \'asdsad\' is not defined\n'