Пример #1
0
def test_align_err_gap():
    noise = "abcd"
    signal = "xd"
    it = find_gaps(signal, noise)
    walk_asserts(it, noise, {
        "ab": Kind.gap,
        "c": Kind.error,
        "d": Kind.signal,
    })
Пример #2
0
def test_align_err():
    noise = "abcd"
    signal = "axcd"
    it = find_gaps(signal, noise)
    walk_asserts(it, noise, {
        "a": Kind.signal,
        "b": Kind.error,
        "cd": Kind.signal,
    })
Пример #3
0
def test_fix_a():
    noise = "abcd"
    signal = "abcx"
    orig_it = find_gaps(signal, noise)
    fixed_it = remove_transpositions(deepcopy(orig_it))
    for i, _ in enumerate(signal[:-1]):
        related_at(i, orig_it, fixed_it,
                   lambda o, f: o.data.signal == f.data.noise, "==")
    related_at(i + 1, orig_it, fixed_it,
               lambda o, f: o.data.signal != f.data.noise, "!=")
    related_at(i + 1, orig_it, fixed_it,
               lambda o, f: o.data.data == f.data.noise, "==")
Пример #4
0
def test_align():
    noise = "abcdefghijklmnopqrstuvwxyz"
    signal = "bcdefklmnopqvwxyz"
    it = find_gaps(signal, noise)
    walk_asserts(
        it, noise, {
            "a": Kind.gap,
            "bcdef": Kind.signal,
            "ghij": Kind.gap,
            "klmnopq": Kind.signal,
            "rstu": Kind.gap,
            "vwxyz": Kind.signal
        })
Пример #5
0
def test_align_ambig():
    noise = "ab"
    signal = "x"
    it = find_gaps(signal, noise)
    if it[0].pop().data.kind is Kind.gap:
        walk_asserts(it, noise, {
            "a": Kind.gap,
            "b": Kind.error,
        })
    else:
        walk_asserts(it, noise, {
            "a": Kind.error,
            "b": Kind.gap,
        })
Пример #6
0
def test_nofix():
    noise = "abcd"
    signal = "abcd"
    orig_it = find_gaps(signal, noise)
    fixed_it = remove_transpositions(orig_it)
    assert orig_it == fixed_it