Ejemplo n.º 1
0
def test_add_on()-> None:

    x = SimplePrefixTree('sum')
    x.add('ab', 0.5, ['a', 'b'])
    x.add_on('abc', 0.2, ['a', 'b', 'c'])

    assert x.weight == 0.7
    assert x.value == []
    assert x.subtrees[0].value == ['a']
    assert x.subtrees[0].weight == 0.7
    assert x.subtrees[0].subtrees[0].value == ['a', 'b']
    assert x.subtrees[0].subtrees[0].weight == 0.7
    assert x.subtrees[0].subtrees[0].subtrees[0].value == 'ab'
    assert x.subtrees[0].subtrees[0].subtrees[0].weight == 0.5
    assert x.subtrees[0].subtrees[0].subtrees[1].value == ['a', 'b', 'c']
    assert x.subtrees[0].subtrees[0].subtrees[1].weight == 0.2
    assert x.subtrees[0].subtrees[0].subtrees[1].subtrees[0].value == 'abc'
    assert x.subtrees[0].subtrees[0].subtrees[1].subtrees[0].weight == 0.2

    y = SimplePrefixTree('sum')
    y.add('abc', 0.2, ['a', 'b', 'c'])
    y.add_on('ab', 0.5, ['a', 'b'])

    assert y.weight == 0.7
    assert y.value == []
    assert y.subtrees[0].value == ['a']
    assert y.subtrees[0].weight == 0.7
    assert y.subtrees[0].subtrees[0].value == ['a', 'b']
    assert y.subtrees[0].subtrees[0].weight == 0.7
    assert y.subtrees[0].subtrees[0].subtrees[0].value == 'ab'
    assert y.subtrees[0].subtrees[0].subtrees[0].weight == 0.5
    assert y.subtrees[0].subtrees[0].subtrees[1].value == ['a', 'b', 'c']
    assert y.subtrees[0].subtrees[0].subtrees[1].weight == 0.2
    assert y.subtrees[0].subtrees[0].subtrees[1].subtrees[0].value == 'abc'
    assert y.subtrees[0].subtrees[0].subtrees[1].subtrees[0].weight == 0.2
Ejemplo n.º 2
0
def test_add()-> None:

    x = SimplePrefixTree('sum')
    x.add('ab', 0.5, ['a', 'b'])
    assert str(x) == \
           "[] (0.5)\n  ['a'] (0.5)\n    ['a', 'b'] (0.5)\n      ab (0.5)\n"

    y = SimplePrefixTree('sum')
    y.add('hello', 0.3, ['h','e','l','l','o'])
    assert str(y) == "[] (0.3)\n  ['h'] (0.3)\n    ['h', 'e'] (0.3)\n      " + \
           "['h', 'e', 'l'] (0.3)\n        ['h', 'e', 'l', 'l'] (0.3)\n    " + \
           "      ['h', 'e', 'l', 'l', 'o'] (0.3)\n            hello (0.3)\n"

    x = SimplePrefixTree('average')
    x.add('ab', 0.5, ['a', 'b'])
    assert str(x) == \
           "[] (0.5)\n  ['a'] (0.5)\n    ['a', 'b'] (0.5)\n      ab (0.5)\n"

    y = SimplePrefixTree('average')
    y.add('hello', 0.3, ['h', 'e', 'l', 'l', 'o'])
    assert str(y) == "[] (0.3)\n  ['h'] (0.3)\n    ['h', 'e'] (0.3)\n      " + \
           "['h', 'e', 'l'] (0.3)\n        ['h', 'e', 'l', 'l'] (0.3)\n    " + \
           "      ['h', 'e', 'l', 'l', 'o'] (0.3)\n            hello (0.3)\n"