Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.fbb.msu.ru/hg/allpy/rev/a3ffdddb2a72
Дата изменения: Unknown
Дата индексирования: Tue Oct 2 00:54:19 2012
Кодировка:
allpy: a3ffdddb2a72

allpy

changeset 577:a3ffdddb2a72

Added test/test_usecases to use usecase examples as unit tests
author Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru>
date Thu, 24 Mar 2011 21:15:48 +0300
parents e7d60bf1dfd8
children ca394f2298e5
files test/test_usecases.py
diffstat 1 files changed, 59 insertions(+), 0 deletions(-) [+]
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/test/test_usecases.py	Thu Mar 24 21:15:48 2011 +0300
     1.3 @@ -0,0 +1,59 @@
     1.4 +def capture_stdout(module_name, stdin=None):
     1.5 +    import sys
     1.6 +    from StringIO import StringIO
     1.7 +    stdout_bak = sys.stdout
     1.8 +    sys.stdout = result = StringIO()
     1.9 +    sys.stdout.name = 'stdout'
    1.10 +    if stdin is not None:
    1.11 +        sys.stdin = StringIO(stdin)
    1.12 +        sys.stdin.name = 'stdin'
    1.13 +    __import__(module_name)
    1.14 +    sys.stdout = stdout_bak
    1.15 +    return result.getvalue()
    1.16 +
    1.17 +def test_usecase1():
    1.18 +    expect = (
    1.19 +        'E2E4: 2 gaps, 5 non-gaps\n'
    1.20 +        ': 0 gaps, 7 non-gaps\n'
    1.21 +        '0 0 0 0 0 1 1\n'
    1.22 +        '>E2E4\n'
    1.23 +        'MKSTF--\n'
    1.24 +        '> Longer sequence\n'
    1.25 +        'MSTKFFF\n'
    1.26 +    )
    1.27 +    got = capture_stdout("usecase1")
    1.28 +    assert got == expect, "Usecase1:\nexpect\t%r\ngot\t%r" % (expect, got)
    1.29 +
    1.30 +def test_usecase2():
    1.31 +    pass
    1.32 +
    1.33 +def test_usecase3():
    1.34 +    input = (
    1.35 +        '>B8F9G1_DESAA/87-127\n'
    1.36 +        'AFQHVRQS.kGT.eATPSGW.KP...........GKQTL---K.P.GPD.-L..VGKVW--evwkt..................\n'
    1.37 +        '>B3EAH4_GEOLS/192-229\n'
    1.38 +        'AFQHVRAT..GE..VMPAGW.TP...........GKPTL---K.P.GPD.LA..-------gnvwkewk...............\n'
    1.39 +        '>C1T7V3_9FIRM/59-97\n'
    1.40 +        'AYQHHKKT..GE..VMPSGW.LE...........GDTTL---K.P.STQ.MAgrVWEVW--qp.....................\n'
    1.41 +        '>C5DLZ5_LACTH/158-193\n'
    1.42 +        'AFQWTDKN..GS..VLPCNW.TP...........GAATI---K.P.DVE.-G..SKEYFN-a......................\n'
    1.43 +        '>TSA2_YEAST/158-193\n'
    1.44 +        'AATI---K.P.DVK.-D..SKEYFK-n......................\n'
    1.45 +    )
    1.46 +    expect = (
    1.47 +        '>B8F9G1_DESAA/87-127\n'
    1.48 +        'AFQHVRQSKGT-EATPSGW-KP---GKQTLKPGPD-L--VGKVW-EVWKT---\n'
    1.49 +        '>B3EAH4_GEOLS/192-229\n'
    1.50 +        'AFQHVRATGE---VMPAGW-TP---GKPTLKPGPDLA--------GNVWKEWK\n'
    1.51 +        '>C1T7V3_9FIRM/59-97\n'
    1.52 +        'AYQHHKKTGE---VMPSGW-LE---GDTTLKPSTQMAGRVWEVW-QP------\n'
    1.53 +        '>C5DLZ5_LACTH/158-193\n'
    1.54 +        'AFQWTDKNGS---VLPCNW-TP---GAATIKPDVE-G--SKEYFNA-------\n'
    1.55 +        '>TSA2_YEAST/158-193\n'
    1.56 +        'AATI---KPD-VK--D--SKEYFKN----------------------------\n'
    1.57 +        ''
    1.58 +    )
    1.59 +    output = capture_stdout("usecase3", input)
    1.60 +    assert output == expect, "Usecase1:\nexpect\t%r\noutput\t%r" % (expect, output)
    1.61 +
    1.62 +# vim: set et ts=4 sts=4 sw=4: