package org.nextprot.api.web.service.impl.writer; import org.junit.Test; import org.nextprot.api.commons.utils.StringUtils; import org.nextprot.api.web.dbunit.base.mvc.WebIntegrationBaseTest; import java.io.ByteArrayOutputStream; import java.io.PrintWriter; import java.io.Writer; import java.util.Arrays; import static org.junit.Assert.assertEquals; public class NPEntryFastaStreamWriterTest extends WebIntegrationBaseTest { @Test public void testFastaExportStream() throws Exception { ByteArrayOutputStream out = new ByteArrayOutputStream(); Writer writer = new PrintWriter(out); EntryVelocityBasedStreamWriter exporter = new EntryFastaStreamWriter(writer); exporter.write(Arrays.asList("NX_P06213", "NX_P01308")); assertEquals(">nxp|NX_P06213-1|INSR|Insulin receptor|Long"+StringUtils.CR_LF + "MATGGRRGAAAAPLLVAVAALLLGAAGHLYPGEVCPGMDIRNNLTRLHELENCSVIEGHL"+StringUtils.CR_LF + "QILLMFKTRPEDFRDLSFPKLIMITDYLLLFRVYGLESLKDLFPNLTVIRGSRLFFNYAL"+StringUtils.CR_LF + "VIFEMVHLKELGLYNLMNITRGSVRIEKNNELCYLATIDWSRILDSVEDNYIVLNKDDNE"+StringUtils.CR_LF + "ECGDICPGTAKGKTNCPATVINGQFVERCWTHSHCQKVCPTICKSHGCTAEGLCCHSECL"+StringUtils.CR_LF + "GNCSQPDDPTKCVACRNFYLDGRCVETCPPPYYHFQDWRCVNFSFCQDLHHKCKNSRRQG"+StringUtils.CR_LF + "CHQYVIHNNKCIPECPSGYTMNSSNLLCTPCLGPCPKVCHLLEGEKTIDSVTSAQELRGC"+StringUtils.CR_LF + "TVINGSLIINIRGGNNLAAELEANLGLIEEISGYLKIRRSYALVSLSFFRKLRLIRGETL"+StringUtils.CR_LF + "EIGNYSFYALDNQNLRQLWDWSKHNLTITQGKLFFHYNPKLCLSEIHKMEEVSGTKGRQE"+StringUtils.CR_LF + "RNDIALKTNGDQASCENELLKFSYIRTSFDKILLRWEPYWPPDFRDLLGFMLFYKEAPYQ"+StringUtils.CR_LF + "NVTEFDGQDACGSNSWTVVDIDPPLRSNDPKSQNHPGWLMRGLKPWTQYAIFVKTLVTFS"+StringUtils.CR_LF + "DERRTYGAKSDIIYVQTDATNPSVPLDPISVSNSSSQIILKWKPPSDPNGNITHYLVFWE"+StringUtils.CR_LF + "RQAEDSELFELDYCLKGLKLPSRTWSPPFESEDSQKHNQSEYEDSAGECCSCPKTDSQIL"+StringUtils.CR_LF + "KELEESSFRKTFEDYLHNVVFVPRKTSSGTGAEDPRPSRKRRSLGDVGNVTVAVPTVAAF"+StringUtils.CR_LF + "PNTSSTSVPTSPEEHRPFEKVVNKESLVISGLRHFTGYRIELQACNQDTPEERCSVAAYV"+StringUtils.CR_LF + "SARTMPEAKADDIVGPVTHEIFENNVVHLMWQEPKEPNGLIVLYEVSYRRYGDEELHLCV"+StringUtils.CR_LF + "SRKHFALERGCRLRGLSPGNYSVRIRATSLAGNGSWTEPTYFYVTDYLDVPSNIAKIIIG"+StringUtils.CR_LF + "PLIFVFLFSVVIGSIYLFLRKRQPDGPLGPLYASSNPEYLSASDVFPCSVYVPDEWEVSR"+StringUtils.CR_LF + "EKITLLRELGQGSFGMVYEGNARDIIKGEAETRVAVKTVNESASLRERIEFLNEASVMKG"+StringUtils.CR_LF + "FTCHHVVRLLGVVSKGQPTLVVMELMAHGDLKSYLRSLRPEAENNPGRPPPTLQEMIQMA"+StringUtils.CR_LF + "AEIADGMAYLNAKKFVHRDLAARNCMVAHDFTVKIGDFGMTRDIYETDYYRKGGKGLLPV"+StringUtils.CR_LF + "RWMAPESLKDGVFTTSSDMWSFGVVLWEITSLAEQPYQGLSNEQVLKFVMDGGYLDQPDN"+StringUtils.CR_LF + "CPERVTDLMRMCWQFNPKMRPTFLEIVNLLKDDLHPSFPEVSFFHSEENKAPESEELEME"+StringUtils.CR_LF + "FEDMENVPLDRSSHCQREEAGGRDGGSSLGFKRSYEEHIPYTHMNGGKKNGRILTLPRSN"+StringUtils.CR_LF + "PS"+StringUtils.CR_LF + ">nxp|NX_P06213-2|INSR|Insulin receptor|Short"+StringUtils.CR_LF + "MATGGRRGAAAAPLLVAVAALLLGAAGHLYPGEVCPGMDIRNNLTRLHELENCSVIEGHL"+StringUtils.CR_LF + "QILLMFKTRPEDFRDLSFPKLIMITDYLLLFRVYGLESLKDLFPNLTVIRGSRLFFNYAL"+StringUtils.CR_LF + "VIFEMVHLKELGLYNLMNITRGSVRIEKNNELCYLATIDWSRILDSVEDNYIVLNKDDNE"+StringUtils.CR_LF + "ECGDICPGTAKGKTNCPATVINGQFVERCWTHSHCQKVCPTICKSHGCTAEGLCCHSECL"+StringUtils.CR_LF + "GNCSQPDDPTKCVACRNFYLDGRCVETCPPPYYHFQDWRCVNFSFCQDLHHKCKNSRRQG"+StringUtils.CR_LF + "CHQYVIHNNKCIPECPSGYTMNSSNLLCTPCLGPCPKVCHLLEGEKTIDSVTSAQELRGC"+StringUtils.CR_LF + "TVINGSLIINIRGGNNLAAELEANLGLIEEISGYLKIRRSYALVSLSFFRKLRLIRGETL"+StringUtils.CR_LF + "EIGNYSFYALDNQNLRQLWDWSKHNLTITQGKLFFHYNPKLCLSEIHKMEEVSGTKGRQE"+StringUtils.CR_LF + "RNDIALKTNGDQASCENELLKFSYIRTSFDKILLRWEPYWPPDFRDLLGFMLFYKEAPYQ"+StringUtils.CR_LF + "NVTEFDGQDACGSNSWTVVDIDPPLRSNDPKSQNHPGWLMRGLKPWTQYAIFVKTLVTFS"+StringUtils.CR_LF + "DERRTYGAKSDIIYVQTDATNPSVPLDPISVSNSSSQIILKWKPPSDPNGNITHYLVFWE"+StringUtils.CR_LF + "RQAEDSELFELDYCLKGLKLPSRTWSPPFESEDSQKHNQSEYEDSAGECCSCPKTDSQIL"+StringUtils.CR_LF + "KELEESSFRKTFEDYLHNVVFVPRPSRKRRSLGDVGNVTVAVPTVAAFPNTSSTSVPTSP"+StringUtils.CR_LF + "EEHRPFEKVVNKESLVISGLRHFTGYRIELQACNQDTPEERCSVAAYVSARTMPEAKADD"+StringUtils.CR_LF + "IVGPVTHEIFENNVVHLMWQEPKEPNGLIVLYEVSYRRYGDEELHLCVSRKHFALERGCR"+StringUtils.CR_LF + "LRGLSPGNYSVRIRATSLAGNGSWTEPTYFYVTDYLDVPSNIAKIIIGPLIFVFLFSVVI"+StringUtils.CR_LF + "GSIYLFLRKRQPDGPLGPLYASSNPEYLSASDVFPCSVYVPDEWEVSREKITLLRELGQG"+StringUtils.CR_LF + "SFGMVYEGNARDIIKGEAETRVAVKTVNESASLRERIEFLNEASVMKGFTCHHVVRLLGV"+StringUtils.CR_LF + "VSKGQPTLVVMELMAHGDLKSYLRSLRPEAENNPGRPPPTLQEMIQMAAEIADGMAYLNA"+StringUtils.CR_LF + "KKFVHRDLAARNCMVAHDFTVKIGDFGMTRDIYETDYYRKGGKGLLPVRWMAPESLKDGV"+StringUtils.CR_LF + "FTTSSDMWSFGVVLWEITSLAEQPYQGLSNEQVLKFVMDGGYLDQPDNCPERVTDLMRMC"+StringUtils.CR_LF + "WQFNPKMRPTFLEIVNLLKDDLHPSFPEVSFFHSEENKAPESEELEMEFEDMENVPLDRS"+StringUtils.CR_LF + "SHCQREEAGGRDGGSSLGFKRSYEEHIPYTHMNGGKKNGRILTLPRSNPS"+StringUtils.CR_LF + ">nxp|NX_P01308-1|INS|Insulin|Iso 1"+StringUtils.CR_LF + "MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAED"+StringUtils.CR_LF + "LQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN"+StringUtils.CR_LF, out.toString()); } }