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: