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());
}
}