Пример #1
0
        public void Accepts_valid_EDI_envelope()
        {
            string goodEnv = "ISA*00*          *00*          *ZZ*000000000000   *ZZ*111111111111111*190101*0000*^*00501*000000001*0*T*:~";

            using (EDIFileStream testEdiReader = CreateTestEDIStream(goodEnv))
            {
                Assert.IsTrue(FileUtils.OpenEDIFile(testEdiReader));
            }
        }
Пример #2
0
        public void Rejects_invalid_EDI_envelope()
        {
            string badEnv = "xxxfoobar";

            using (EDIFileStream testEdiReader = CreateTestEDIStream(badEnv))
            {
                Assert.IsFalse(FileUtils.OpenEDIFile(testEdiReader));
            }
        }
Пример #3
0
        public void EDI_envelope_is_read_correctly()
        {
            string goodEnv = "ISA*00*          *00*          *ZZ*000000000000   *ZZ*111111111111111*190101*0000*^*00501*000000001*0*T*:~";

            using (EDIFileStream testEdiReader = CreateTestEDIStream(goodEnv))
            {
                Assert.AreEqual(goodEnv, testEdiReader.ReadEnvelope());
            }
        }
Пример #4
0
        private static EDIFileStream CreateTestEDIStream(string ediString)
        {
            UTF8Encoding Encoding = new UTF8Encoding(true);

            byte[] ediBytes   = Encoding.GetBytes(ediString);
            var    testStream = new MemoryStream(ediBytes);

            var testEdiReader = new EDIFileStream(testStream);

            return(testEdiReader);
        }
Пример #5
0
        public void Correctly_counts_instances_of_a_string()
        {
            string longerTestEdi = "ISA*00*          *00*          *ZZ*000000000000   *ZZ*111111111111111*190101*0000*^*00501*000000001*0*T*:~GS*HC*000000000000*111111111111111*20190101*000000*1*X*005010X222A1~ST*837*0000001*005010X222A1~REF*XX*000*000*0000*0000*XX~REF*YY*000*000*0000*0000*XY~REF*CK*308*860*152*001*XX~REF*YM*434*327*268*002*XX~REF*XT*344*943*798*003*XX~REF*VG*529*827*356*004*XX~REF*DJ*581*082*898*005*XX~REF*QJ*331*611*621*006*XX~REF*NM*952*202*639*007*XX~REF*WR*217*126*840*008*XX~REF*UI*730*311*044*009*XX~REF*WN*769*013*656*010*XX~REF*SN*784*414*590*011*XX~REF*SC*226*961*011*012*XX~REF*PO*821*704*613*013*XX~REF*KO*141*303*278*014*XX~REF*EN*402*985*448*015*XX~REF*TP*269*037*080*016*XX~REF*CP*318*953*707*017*XX~REF*YH*538*611*909*018*XX~REF*UV*255*114*111*019*XX~REF*GF*025*696*432*020*XX~REF*ID*465*733*223*021*XX~REF*EG*797*964*410*022*XX~REF*DT*188*880*217*023*XX~REF*AA*866*996*494*024*XX~REF*DI*529*393*280*025*XX~REF*HM*288*874*648*026*XX~REF*OD*571*604*825*027*XX~REF*YU*583*730*377*028*XX~REF*SC*573*201*723*029*XX~REF*AA*373*896*986*030*XX~REF*FQ*028*202*421*031*XX~REF*AV*072*453*072*032*XX~REF*QR*922*315*098*033*XX~REF*YF*583*055*627*034*XX~REF*FL*136*618*505*035*XX~REF*BX*327*668*535*036*XX~REF*HM*391*886*638*037*XX~REF*WB*369*182*596*038*XX~REF*DV*129*658*373*039*XX~REF*BM*258*103*057*040*XX~REF*UV*318*268*003*041*XX~REF*TI*409*696*214*042*XX~REF*BL*402*917*013*043*XX~REF*EH*035*676*785*044*XX~REF*WB*400*457*712*045*XX~REF*IE*477*245*358*046*XX~REF*NP*224*611*471*047*XX~REF*LB*122*882*833*048*XX~REF*OQ*671*966*819*049*XX~REF*RV*211*644*322*050*XX~REF*SC*581*316*877*051*XX~REF*SJ*859*555*087*052*XX~REF*OD*164*337*886*053*XX~REF*KI*790*445*464*054*XX~REF*CP*152*841*338*055*XX~REF*GV*432*637*144*056*XX~REF*MP*832*921*661*057*XX~REF*LT*907*732*718*058*XX~REF*BW*566*795*105*059*XX~REF*LV*334*080*234*060*XX~REF*JR*764*179*904*061*XX~REF*CQ*738*976*779*062*XX~REF*VN*222*411*833*063*XX~REF*YF*241*674*403*064*XX~REF*QT*057*726*024*065*XX~REF*EH*355*736*276*066*XX~REF*JC*352*402*697*067*XX~REF*TV*652*016*293*068*XX~REF*TN*929*952*604*069*XX~REF*MQ*154*960*240*070*XX~REF*FU*658*676*259*071*XX~REF*PI*038*155*262*072*XX~REF*UI*001*700*595*073*XX~REF*TW*819*713*454*074*XX~REF*CH*224*381*611*075*XX~REF*CP*104*121*258*076*XX~REF*MQ*393*496*767*077*XX~REF*OB*675*143*465*078*XX~REF*LV*496*753*684*079*XX~REF*LS*228*356*793*080*XX~REF*PL*440*506*474*081*XX~REF*XR*277*064*156*082*XX~REF*AX*915*896*169*083*XX~REF*EQ*504*932*086*084*XX~REF*RK*675*248*888*085*XX~REF*FB*469*695*155*086*XX~REF*JE*746*327*813*087*XX~REF*BJ*886*021*158*088*XX~REF*VD*610*986*516*089*XX~REF*MJ*599*584*682*090*XX~REF*TB*295*270*628*091*XX~REF*FY*192*616*769*092*XX~REF*WY*580*908*921*093*XX~REF*UB*588*082*806*094*XX~REF*TA*482*773*025*095*XX~REF*OU*688*730*034*096*XX~REF*VS*884*013*640*097*XX~REF*HY*476*697*016*098*XX~REF*CT*270*251*950*099*XX~REF*WN*701*064*622*100*XX~REF*LW*517*776*844*101*XX~REF*TJ*520*244*828*102*XX~REF*KC*461*581*209*103*XX~REF*DM*566*267*052*104*XX~REF*VT*889*066*498*105*XX~REF*AI*231*821*943*106*XX~REF*AH*624*108*142*107*XX~REF*YF*107*167*180*108*XX~REF*XM*232*867*251*109*XX~REF*YF*688*041*546*110*XX~REF*KQ*434*011*487*111*XX~REF*QQ*450*278*978*112*XX~REF*KS*698*299*815*113*XX~REF*CY*353*439*205*114*XX~REF*WG*399*086*064*115*XX~REF*IC*021*813*553*116*XX~REF*TW*190*275*956*117*XX~REF*IU*612*619*734*118*XX~REF*IN*827*188*502*119*XX~REF*FD*931*052*818*120*XX~REF*AU*248*834*427*121*XX~REF*DQ*348*946*589*122*XX~REF*OL*636*724*623*123*XX~REF*ND*422*342*021*124*XX~REF*HD*732*704*865*125*XX~REF*II*211*582*725*126*XX~REF*EV*968*993*348*127*XX~REF*YN*354*846*954*128*XX~REF*RE*665*029*580*129*XX~REF*VC*103*563*918*130*XX~REF*BK*588*031*283*131*XX~REF*VP*543*968*141*132*XX~REF*UQ*765*220*230*133*XX~REF*SC*642*375*424*134*XX~REF*YL*574*387*044*135*XX~REF*CB*703*123*170*136*XX~REF*GS*646*662*846*137*XX~REF*TH*937*709*270*138*XX~REF*JT*384*705*111*139*XX~REF*AN*444*797*747*140*XX~REF*TN*727*139*181*141*XX~REF*PR*200*985*294*142*XX~REF*TY*419*797*050*143*XX~REF*CS*102*372*986*144*XX~REF*KR*931*104*647*145*XX~REF*FA*868*276*675*146*XX~REF*NI*904*375*150*147*XX~REF*RN*506*481*072*148*XX~REF*BW*950*415*652*149*XX~REF*KQ*586*654*319*150*XX~REF*HP*072*810*646*151*XX~REF*BQ*622*491*742*152*XX~REF*PU*923*309*088*153*XX~REF*LL*044*647*512*154*XX~REF*OT*620*300*282*155*XX~REF*ND*516*451*590*156*XX~REF*NX*213*955*267*157*XX~REF*WR*094*727*865*158*XX~REF*AP*015*737*016*159*XX~REF*GU*640*327*050*160*XX~REF*XB*938*142*853*161*XX~REF*MC*770*528*078*162*XX~REF*XL*171*899*186*163*XX~REF*QR*966*042*559*164*XX~REF*TK*315*780*593*165*XX~REF*YD*881*284*248*166*XX~REF*SE*189*401*345*167*XX~REF*LE*070*102*313*168*XX~REF*UN*565*649*367*169*XX~REF*OP*114*550*092*170*XX~REF*NN*598*766*389*171*XX~REF*ME*157*547*088*172*XX~REF*IW*486*279*116*173*XX~REF*SJ*768*554*466*174*XX~REF*MD*864*728*088*175*XX~REF*FI*665*412*777*176*XX~REF*IN*331*191*670*177*XX~REF*EA*421*011*819*178*XX~REF*HR*522*013*795*179*XX~REF*WT*285*533*012*180*XX~REF*ET*559*084*360*181*XX~REF*JV*869*677*900*182*XX~REF*EV*744*768*853*183*XX~REF*UM*295*608*792*184*XX~REF*RV*756*733*266*185*XX~REF*UV*851*931*792*186*XX~REF*LT*132*400*875*187*XX~REF*NQ*246*829*479*188*XX~REF*IH*742*110*446*189*XX~REF*LJ*752*159*602*190*XX~REF*KA*675*739*201*191*XX~REF*IX*824*816*664*192*XX~REF*MS*937*884*096*193*XX~REF*KO*344*892*378*194*XX~REF*DS*464*128*243*195*XX~REF*KC*646*286*920*196*XX~REF*KE*691*328*339*197*XX~REF*LX*391*198*463*198*XX~REF*PS*428*165*151*199*XX~REF*PX*857*013*941*200*XX~SE*57204*0000001~GE*1*1~IEA*1*006577131~";

            using (EDIFileStream testEdiReader = CreateTestEDIStream(longerTestEdi))
            {
                testEdiReader.ReadEnvelope();
                testEdiReader.LoadSegmentOffset();
                string searchString = "REF";

                string hits = testEdiReader.SearchFile(EDIFileStream.SearchType.CountOnly, searchString);

                Assert.AreEqual("202 hits.", hits);
            }
        }
Пример #6
0
        public void Correctly_returns_instances_of_a_string()
        {
            string testedi = "ISA*00*          *00*          *ZZ*000000000000   *ZZ*111111111111111*190101*0000*^*00501*000000001*0*T*:~GS*HC*000000000000*111111111111111*20190101*000000*1*X*005010X222A1~ST*837*0000001*005010X222A1~REF*XX*000*000*0000*0000*XX~CLM*YY~REF*CK*308*860*152*001*XX~CLM*QQ~SE*6*0000001~GE*1*1~IEA*1*006577131~";
            string CLMs    = "5: CLM*YY\r\n" +
                             "7: CLM*QQ\r\n";

            using (EDIFileStream testEdiReader = CreateTestEDIStream(testedi))
            {
                testEdiReader.ReadEnvelope();
                testEdiReader.LoadSegmentOffset();
                string searchString = "CLM";

                string hits = testEdiReader.SearchFile(EDIFileStream.SearchType.Text, searchString);

                Assert.AreEqual(CLMs, hits);
            }
        }