From 94733bf1832777809d0ad5933052d4be6dba13bc Mon Sep 17 00:00:00 2001 From: junior Date: Mon, 13 Dec 2021 09:03:22 -0500 Subject: [PATCH 1/6] created grocery list class --- Hurtlocker.iml | 18 ------------ src/main/java/GroceryList.java | 51 +++++++++++++++++++++++++++++++++ target/classes/Main.class | Bin 1162 -> 1162 bytes 3 files changed, 51 insertions(+), 18 deletions(-) delete mode 100644 Hurtlocker.iml create mode 100644 src/main/java/GroceryList.java diff --git a/Hurtlocker.iml b/Hurtlocker.iml deleted file mode 100644 index 22967e8..0000000 --- a/Hurtlocker.iml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/GroceryList.java b/src/main/java/GroceryList.java new file mode 100644 index 0000000..2da9b02 --- /dev/null +++ b/src/main/java/GroceryList.java @@ -0,0 +1,51 @@ +import java.text.SimpleDateFormat; + +public class GroceryList { + private String name; + private String type; + private Double price; + private SimpleDateFormat expiration; + + public GroceryList(){ + + } + + public GroceryList(String name, String type, Double price, SimpleDateFormat expiration) { + this.name = name; + this.type = type; + this.price = price; + this.expiration = expiration; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } + + public SimpleDateFormat getExpiration() { + return expiration; + } + + public void setExpiration(SimpleDateFormat expiration) { + this.expiration = expiration; + } +} diff --git a/target/classes/Main.class b/target/classes/Main.class index c9d3858bc278f548c9eaabc471ed4e0ba034dcf0..611031eaa4abbc5c9ed2b9f3c2013eb36ae5521d 100644 GIT binary patch delta 17 YcmeC;?Be7&^>5cc1_lO`jT}uZ06GH&;s5{u delta 17 YcmeC;?Be7&^>5cc1_lPhjT}uZ06Fvp-v9sr From efbacdc7a0b6ce91da269346d5bee68f2e741b7b Mon Sep 17 00:00:00 2001 From: junior Date: Mon, 13 Dec 2021 09:52:51 -0500 Subject: [PATCH 2/6] created Parser class to to format RawData --- src/main/java/Main.java | 2 ++ src/main/java/Parser.java | 52 ++++++++++++++++++++++++++++++++++++++ target/classes/Main.class | Bin 1162 -> 1258 bytes 3 files changed, 54 insertions(+) create mode 100644 src/main/java/Parser.java diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 632942a..9523a45 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -13,5 +13,7 @@ public static void main(String[] args) throws Exception{ String output = (new Main()).readRawDataToString(); System.out.println(output); + Parser parser = new Parser(); + System.out.println(parser.dataParser()); } } diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java new file mode 100644 index 0000000..60ec273 --- /dev/null +++ b/src/main/java/Parser.java @@ -0,0 +1,52 @@ +import java.io.File; +import java.io.IOException; +import java.util.Scanner; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public class Parser { + private String groceryListData; + + public Parser() { + this.groceryListData = loadFile(); + } + + private String loadFile(){ + ClassLoader classLoader = getClass().getClassLoader(); + File file = new File(classLoader.getResource("RawData.txt").getFile()); + StringBuilder result = new StringBuilder(""); + + try(Scanner scanner = new Scanner(file)){ + while(scanner.hasNextLine()){ + String line = scanner.nextLine(); + result.append(line).append("\n"); + } + + scanner.close(); + }catch(IOException e){ + e.printStackTrace(); + } + + return result.toString(); + } + + public String dataParser(){ + String parsedString = ""; + Pattern pattern = Pattern.compile("(?i)(name)"); + Matcher matcher = pattern.matcher(loadFile()); + parsedString = matcher.replaceAll("name"); + + + Pattern pattern1 = Pattern.compile("(?i)(##)"); + Matcher matcher1 = pattern1.matcher(parsedString); + parsedString = matcher1.replaceAll(",\n"); + + Pattern pattern2 = Pattern.compile("(?i)(C[o0][o0]kies[;])"); + Matcher matcher2 = pattern2.matcher(parsedString); + parsedString = matcher2.replaceAll("Cookies,"); + + return parsedString; + } + + +} diff --git a/target/classes/Main.class b/target/classes/Main.class index 611031eaa4abbc5c9ed2b9f3c2013eb36ae5521d..1da96d21e00e0e6b3bf7ef5538fad1c2eb9f9f7a 100644 GIT binary patch delta 550 zcmY+A$xake7=^zJP2Z|pm#IWV5XGS#02>EX5EN8IlUIma3zl%OPBGOfnTQ?YK(W zF~c>>b%zblmK!lQnRVRaw&jk)2iP-bng6={$K2f;Fl)QT_gQ_XRyRbI=XteYaGUQw z)L+(Cx8KwZaW&h1TYjB=%sc}OdKOr;-1FRL$&hShpH{L)R&IQ5Se88xcxZX#S>dsv z5V)Qbj96AZPgt`&^*m$UP|VjA>z)cDKicM-d7;g(q}B1kS)I_Yi=i76Rx76JW|WO` z&*VO)siKQxip3l(Fr?ad1~|^JIui_ND&1>#mv+N!pCpldq%S4TITJZHbjXRMagtGS zQ!&Rlr8q85LC9$_&M*-ah3qH?wNe|qwNKO{u6)N$wMg1{A-z?#(=GahG}$`xJ4}yQ qy(Dsz>by}MctKV0-|zzJI;E0aI+)7bcFhA54i6+@O)&6;7I+*3u}sTf_dg^{Jfi*oG+ z>q__DSbx26wbFr)20>H3*AONmopL?#$n2*#dF{@I!~t>h%L!vuHHj)0{nhxzBSw>G z!=h}aMX*&gK4IEK(N5fT6lO=NM{491z5k5AjJ5rUohlP}5Zc3EV2}WrkT}*?6JtL* VI_Q+afb5cx9Q7|p$)8<|?r&g_E@c1! From 951ae5293f96007131c3e8e188a6e69dd94afc90 Mon Sep 17 00:00:00 2001 From: junior Date: Mon, 13 Dec 2021 10:21:18 -0500 Subject: [PATCH 3/6] I think I formatted RawData.txt --- src/main/java/Parser.java | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java index 60ec273..5e5f2af 100644 --- a/src/main/java/Parser.java +++ b/src/main/java/Parser.java @@ -41,9 +41,33 @@ public String dataParser(){ Matcher matcher1 = pattern1.matcher(parsedString); parsedString = matcher1.replaceAll(",\n"); - Pattern pattern2 = Pattern.compile("(?i)(C[o0][o0]kies[;])"); - Matcher matcher2 = pattern2.matcher(parsedString); - parsedString = matcher2.replaceAll("Cookies,"); + Pattern cookies = Pattern.compile("(?i)(C[o0][o0]kies[;])"); + Matcher matcherCookies = cookies.matcher(parsedString); + parsedString = matcherCookies.replaceAll("Cookies,"); + + Pattern milk = Pattern.compile("(?i)(milk[;])"); + Matcher matcherMilk = milk.matcher(parsedString); + parsedString = matcherMilk.replaceAll("Milk,"); + + Pattern bread = Pattern.compile("(?i)(bread[;])"); + Matcher matcherBread = bread.matcher(parsedString); + parsedString = matcherBread.replaceAll("Bread,"); + + Pattern apple = Pattern.compile("(?i)(apples)"); + Matcher matcherApple = apple.matcher(parsedString); + parsedString = matcherApple.replaceAll("Apples"); + + Pattern pattern5 = Pattern.compile("(?i)[;,](price)"); + Matcher matcher5 = pattern5.matcher(parsedString); + parsedString = matcher5.replaceAll(",price"); + + Pattern pattern6 = Pattern.compile("(?i)(;type)"); + Matcher matcher6 = pattern6.matcher(parsedString); + parsedString = matcher6.replaceAll(",type"); + + Pattern pattern7 = Pattern.compile("(?i)(food)[!;@^*%]"); + Matcher matcher7 = pattern7.matcher(parsedString); + parsedString = matcher7.replaceAll("Food,"); return parsedString; } From 8b80f8cbce9187e4b4132b6fd2b946aee2316d97 Mon Sep 17 00:00:00 2001 From: junior Date: Mon, 13 Dec 2021 11:45:50 -0500 Subject: [PATCH 4/6] hope Im doing this right --- src/main/java/Main.java | 86 +++++++++++++++++++++++++++++++++++++- src/main/java/Parser.java | 4 +- target/classes/Main.class | Bin 1258 -> 4322 bytes 3 files changed, 87 insertions(+), 3 deletions(-) diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 9523a45..baebb96 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,7 +1,10 @@ import org.apache.commons.io.IOUtils; import java.io.IOException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class Main { + Parser parsedData = new Parser(); public String readRawDataToString() throws Exception{ ClassLoader classLoader = getClass().getClassLoader(); @@ -14,6 +17,87 @@ public static void main(String[] args) throws Exception{ System.out.println(output); Parser parser = new Parser(); - System.out.println(parser.dataParser()); + System.out.println(parser.dataParser()); + + Main main = new Main(); + +// System.out.println("Milk seen: "+main.countItem(parser.dataParser(),"Milk")); +// System.out.println("1.23 Price seen: "+main.countItemAtPrice(parser.dataParser(),"Milk,price:1[.]23")); +// System.out.println("3.23 Price seen : "+main.countItemAtPrice(parser.dataParser(), "Milk,price:3[.]23")); +// System.out.println("No Price seen: "+main.countItemNoPrice(parser.dataParser(),"Milk,price:,")); + + System.out.println(main.formattedOutput()); + // System.out.println(main.errorCounter()); + } + + public Integer countItem(String parsedData, String item){ + Integer count = 0; + Pattern pattern = Pattern.compile(item); + Matcher matcher = pattern.matcher(parsedData); + while (matcher.find()){ + count++; + } + return count; } + public Integer countItemAtPrice(String parsedData, String price){ + Integer count = 0; + Pattern pattern = Pattern.compile(price); + Matcher matcher = pattern.matcher(parsedData); + while (matcher.find()){ + count++; + } + return count; + } + + public Integer countItemNoValue(String parsedData, String noValue){ + Integer count = 0; + Pattern pattern = Pattern.compile(noValue); + Matcher matcher = pattern.matcher(parsedData); + while (matcher.find()){ + count++; + } + return count; + } + + + + public String formattedOutput(){ + String result = ""; + result = "name: Milk \t\t seen: "+countItem(parsedData.dataParser(), "Milk")+" times\n" + + "============= \t \t =============\n" + + "Price: \t 3.23\t\t seen: "+countItemAtPrice(parsedData.dataParser(), "Milk,price:3[.]23")+" times\n" + + "-------------\t\t -------------\n" + + "Price: 1.23\t\t seen: "+countItemAtPrice(parsedData.dataParser(), "Milk,price:1[.]23")+" time\n" + + "\n" + + "name: Bread\t\t seen: "+countItem(parsedData.dataParser(), "Bread")+" times\n" + + "=============\t\t =============\n" + + "Price: 1.23\t\t seen: "+countItemAtPrice(parsedData.dataParser(), "Bread,price:1[.]23")+" times\n" + + "-------------\t\t -------------\n" + + "\n" + + "name: Cookies \t seen: "+countItem(parsedData.dataParser(), "Cookies")+" times\n" + + "============= \t =============\n" + + "Price: 2.25 seen: "+countItemAtPrice(parsedData.dataParser(), "Cookies,price:2[.]25")+" times\n" + + "------------- -------------\n" + + "\n" + + "name: Apples \t seen: "+countItem(parsedData.dataParser(), "Apples")+" times\n" + + "============= \t =============\n" + + "Price: 0.25 \t seen: "+countItemAtPrice(parsedData.dataParser(), "Apples,price:0[.]25")+" times\n" + + "------------- \t -------------\n" + + "Price: 0.23 \t \t seen: "+countItemAtPrice(parsedData.dataParser(), "Apples,price:0[.]23")+" times\n" + + "\n" + + "Errors \t \t seen: "+errorCounter()+" times "; + + + return result; + } + + public Integer errorCounter(){ + Integer count = 0; + String[] keys = {"name","price","type","expiration"}; + for (int i = 0; i < keys.length; i++) { + count += countItemNoValue(parsedData.dataParser(),keys[i]+":,"); + } + return count; + } + } diff --git a/src/main/java/Parser.java b/src/main/java/Parser.java index 5e5f2af..a6594aa 100644 --- a/src/main/java/Parser.java +++ b/src/main/java/Parser.java @@ -34,12 +34,12 @@ public String dataParser(){ String parsedString = ""; Pattern pattern = Pattern.compile("(?i)(name)"); Matcher matcher = pattern.matcher(loadFile()); - parsedString = matcher.replaceAll("name"); + parsedString = matcher.replaceAll("{name"); Pattern pattern1 = Pattern.compile("(?i)(##)"); Matcher matcher1 = pattern1.matcher(parsedString); - parsedString = matcher1.replaceAll(",\n"); + parsedString = matcher1.replaceAll("},\n"); Pattern cookies = Pattern.compile("(?i)(C[o0][o0]kies[;])"); Matcher matcherCookies = cookies.matcher(parsedString); diff --git a/target/classes/Main.class b/target/classes/Main.class index 1da96d21e00e0e6b3bf7ef5538fad1c2eb9f9f7a..d07e06c0deb78ca45f7a58bced2ff7e5d54fb8a1 100644 GIT binary patch literal 4322 zcmb_fX;&N98GZ&y%xD-JTYz1h;>d~P0tRGIuw!AM%m zZkw*@nsiCJr0L#tarZ1uWEv;#zQtYtLeJ^<_VimnBz^A82n|L!ZBFnxGn)6l%k%En zFTMQy6#%#5uPP3}l2KIA1S<*^B|*7Qg^jWTM@0qaRossy85dL@TjKG~DBgv4t9StK z5pwSpwD+laKR%%1gLqIpKBVHq_=uo=RKdq&d|bs=SPC8z?}rt9Ldbkle0)m5rxiRR zz8_Wa83mtJ@HqvaSMZpEFDQ6i!50;LNx_#Dd_}=m6?{#>*A;w2!4nF;DdfJT;M+pg zcVt{t@LdIS3cjb{`wD&_j(;fQM-tSMZkLVRVcpRsDCwi(%N~)?e899!XH-I{yXT~Y z@OUw2NN7!)mN8u^%o+A^eJ)Q*EM3g%`IEYBif^A7b{5Psb)=_s)1tCA+t72z^!tUC z*k2LDCG{F52TFKmtw2sx;TVl1vHGBr~&UTwspwVl8Hh6+3I(VT!_v zirN_vnbq)S+|Jm0wW;ACMm0QxpU8Mt!*i&zWc=D1aF!eymozNnr!t<`a2YSqfY7Aj z4jhs3qJ}H@nT(%n_yvBc;a51K!4M};YWOvN!)R#uEq`%F$+dnJsA9p zNBJ*EIH~j;8N}e9LXDF#b#|a4|zT*Di9|eP-{WZ1m_~80# z2VJ!ix?GK_TJ!Lb=;i>Fh)bwjUgZG!R(-E)Ip%8dJ*t_${eN=CM>bw8E}BMJ4#uH@p#9yl*x{>IC&U!+vf;(JCaK{pIR2v^ zBhN&i9^nMKwz=3gqUQK=E|mCEjir)l>td)&XiD{I$cl;&$j!{1GqRl1ZFN;Edw@Mt zr}|^4*3oMRYJ(Ghh;mKN8;-k+XlT`NbBP?Xt#v~_-^Q9qZLf8%74(iM-f@k1O{R@X zju~ZlNRE}cFb$pSr>DXC@t2KROiWr_TplYmcNOjVgkI9QClc9Wp}_5!5KJ>CxKX(N z6lY~S*VJC4Be=#^R(2o*nG0oiqlLIK>4~?msDpFNs^jqTvzp9SRC05>6mn`v$*!QO%!unU9ec43aX=Se@7G{(FOnBvz-H?R^$umVNAoD&AN{S8RKbcw-fDLEI4}-sBT+4ib0z;l0-!HZTNZZh!Q! z?ngP3GMpd_oE;BvVm!)uagojX0$cHK?18_t_W#9d7n5g;7e2pRLindUZ}`6vaWU~r z<*GaVINwCursWqgJR6Gb&CG^l`!chU*ln5F=GgwsRA{uT@5&Pxrn4Qj`1?8O>mv4T zv6P3siV?Di22Vd2k}ke-)%7LV-S@Jh&R{#6ZWrc=Tqok3i&qSxIIC;{CjAvN*PFu; h7PjbViBbn}jw7n6-pO&dlNY7`utX)~Db|F-e*ynk+syy~ delta 543 zcmY+AOHUM05QV=xJu|oa_GN$(l!p&cM{#BZAD|%k#`kohtkhjET)1%oli*5L{(|`< zK4N1a@dvnJ?~UP;%N({4K5{oJ)Y@I2&^<*{d(Cx&v8e*EM)#fasp=NZo}FFY@KWvCW| zJsn1RzijL0RQT0wFsar0bqNF*WT;qIH6t{_N^=wQT}g=(iq!+M%#dY1PXamETm8_BZjxtQx_F3QMT3PINGIq7WVq4P`RQn1S-L?#c)YIB`)s+H+(!7 From a7de9d2e8edc2eaee8056b7bca584ac7f89c89b1 Mon Sep 17 00:00:00 2001 From: junior Date: Mon, 13 Dec 2021 14:04:10 -0500 Subject: [PATCH 5/6] added outputToTXT method to create txt file with formated list --- outputFormat.txt | 23 ++++++++++++++++++++ src/main/java/Main.java | 43 ++++++++++++++++++++++++++------------ target/classes/Main.class | Bin 4322 -> 4904 bytes 3 files changed, 53 insertions(+), 13 deletions(-) create mode 100644 outputFormat.txt diff --git a/outputFormat.txt b/outputFormat.txt new file mode 100644 index 0000000..c1dc6df --- /dev/null +++ b/outputFormat.txt @@ -0,0 +1,23 @@ +name: Milk seen: 8 times +============= ============= +Price: 3.23 seen: 5 times +------------- ------------- +Price: 1.23 seen: 1 time + +name: Bread seen: 6 times +============= ============= +Price: 1.23 seen: 6 times +------------- ------------- + +name: Cookies seen: 8 times +============= ============= +Price: 2.25 seen: 8 times +------------- ------------- + +name: Apples seen: 4 times +============= ============= +Price: 0.25 seen: 2 times +------------- ------------- +Price: 0.23 seen: 2 times + +Errors seen: 4 times \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index baebb96..3aecbc7 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,5 +1,9 @@ import org.apache.commons.io.IOUtils; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; import java.io.IOException; +import java.util.Formatter; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -14,10 +18,12 @@ public String readRawDataToString() throws Exception{ public static void main(String[] args) throws Exception{ String output = (new Main()).readRawDataToString(); - System.out.println(output); + System.out.println("JerkSON"); + System.out.println(output+"\n"); Parser parser = new Parser(); - System.out.println(parser.dataParser()); + System.out.println("JSON"); + System.out.println(parser.dataParser()); Main main = new Main(); @@ -25,9 +31,11 @@ public static void main(String[] args) throws Exception{ // System.out.println("1.23 Price seen: "+main.countItemAtPrice(parser.dataParser(),"Milk,price:1[.]23")); // System.out.println("3.23 Price seen : "+main.countItemAtPrice(parser.dataParser(), "Milk,price:3[.]23")); // System.out.println("No Price seen: "+main.countItemNoPrice(parser.dataParser(),"Milk,price:,")); + // System.out.println(main.errorCounter()); + + System.out.println(main.formatedOutput()); + main.outputToTXT(); - System.out.println(main.formattedOutput()); - // System.out.println(main.errorCounter()); } public Integer countItem(String parsedData, String item){ @@ -49,7 +57,7 @@ public Integer countItemAtPrice(String parsedData, String price){ return count; } - public Integer countItemNoValue(String parsedData, String noValue){ + public Integer countKeyNoValue(String parsedData, String noValue){ Integer count = 0; Pattern pattern = Pattern.compile(noValue); Matcher matcher = pattern.matcher(parsedData); @@ -58,10 +66,18 @@ public Integer countItemNoValue(String parsedData, String noValue){ } return count; } + public Integer errorCounter(){ + Integer count = 0; + String[] keys = {"name","price","type","expiration"}; + for (int i = 0; i < keys.length; i++) { + count += countKeyNoValue(parsedData.dataParser(),keys[i]+":,"); + } + return count; + } - public String formattedOutput(){ + public String formatedOutput(){ String result = ""; result = "name: Milk \t\t seen: "+countItem(parsedData.dataParser(), "Milk")+" times\n" + "============= \t \t =============\n" + @@ -91,13 +107,14 @@ public String formattedOutput(){ return result; } - public Integer errorCounter(){ - Integer count = 0; - String[] keys = {"name","price","type","expiration"}; - for (int i = 0; i < keys.length; i++) { - count += countItemNoValue(parsedData.dataParser(),keys[i]+":,"); - } - return count; + public void outputToTXT() throws FileNotFoundException { + + FileOutputStream outputStream= new FileOutputStream("outputFormat.txt"); + Formatter formatter = new Formatter(outputStream); + formatter.format(formatedOutput()); + formatter.flush(); + } + } diff --git a/target/classes/Main.class b/target/classes/Main.class index d07e06c0deb78ca45f7a58bced2ff7e5d54fb8a1..f16be48052289d7cccfa3a0f0db33962f2ab15b0 100644 GIT binary patch literal 4904 zcmb_fd3Y4%8UIaolbH+yfei$LMwco!2{|B3P;&`{1OuA{vjGf9%dnXwL-t~J7D-!+ zZS8&A)84fQy{lF?RD|A#(#ziWVQcTpr~ma2?eCi-J0U@6@54<<5m@AI9Ul5FANWq5{d_?enRKY0)A5-vg@%9O!^pgrcrQp-z{WA(atKcpLcPqF@!RHj* ztKdEbMFq18PAmAlg8LPmQSg9*vkJ~B_=1r8qJl5U__BhpsMw0H%J`a!UVL4~H^lRs zVtG)4n$xYkF}_2$bqPv*k9e~>B~)~o8Po2O5UOw3Cn4OM9XBLY#m$T{R7f8&tWo_) zij+t^o77YLbjuX)9x-fBnR)7n59(%y%Bn3xA0N?g7N?A66Sie$CMB$_Z-^h&kL#@| zJu}(rQpvm|nbPz5cvc@bED5UvEWM=-VWDN@3n^Qeu!t75??lqb*=9DAm+=q*q-lzT zn)-taxgCJIHA$1J7un`f*@B%b@TdyMTQsXOnJr}O0ozDRxVCJ6M(^CcR$Ql2aW>{9%>J{D) zN3WU}(-H*9lpqZ-4AaI819B5nX(DUUV%r!W_ME%K_3~(T^u|#Mn)}AIFmyV3t&7~u zw)UGT!xeG&2&&T8B`gTIsNXxn>Xh*v=6WJqu#$#QKpBynEh2L??80uw*3Eql*JD7# zckw+L4{P{7e!!IUa<|1kVaxcTh9BX_GJc}rr}!B$2~8Sqz=({WYxo6zNeAsRtm(w? zkc?kx_%(jRM7}Udw-?M5Q(VJu@jE(471~CqZ5PEfJc1Do$Hj6pb~8*GevdyeRvI3~ zA2m$iPmG#|KjSYN{))dbei!Pes*Ii{(y%>~<3lx0edFs0lf zlun)pfPC}bFM4vs(c&TUkKX!!f$=Qs&1R=fBQM-ffBBx5J+g!yi@Mz9zKD%&Ep6?N zJ}$n(m7YS+)HdOzb_sopnd-~VcfRk*ZMj@(fxQ(jRYLF6H+Q3NZV7(1tIjiaqi5{) ziyC{;M4|4O@avPRj!9VOsaE?$KXaqu`q-D$ki#+d4VRI764p31w@6Q7IlAr3?LeY$ zh%Uo6Q0<5~4ScRUiLHOktKi`yM~x&!{)vBS__ydzuAFmI&fRPhR+Ng~>$QHPS$IV( zvg2I~td$^;p{(7{em)*JN0~Hi=k}!`^E$jkWCyM)8RGFR^F{odymq0WyG8L;7l`{Z z)l@QKe@bJCql` zV$aPZzS;|P1TSu?<>*3#gWYx}@7&=bMttu2p$@jdOvw&6e)Gw^CfErxc8U#o)nb@9 zcva}RoRJxq(7YH!U|eub^DY%ysE%{ka<4R=b6nip!xLfv8VCX^-Ow_<_V!aN(?YVfrMro|H4 zTF(YLc;0LvM!O1kI*`y6G}H@aaNe7Lj$`#)jS^@1M5>UV!aB~@ef*-})hR{=u9f`F z5rS)+Z#@V(d&?VVAvK;s+1M;X_aS^Y_sTHHReUXoHH;+~;xEnR$1wKrO%js?IfSkQ ze1`a3*;qt*kpuOHh+Kqnn$t_uU8KAEmN`7jpr8s7emn@BQCH5>sql;hMyWeOnZ4M@ zbw9bnq})jR$DEVIi4RgP%;%vqP-*y*BDDBDSQ=SYL=~TBu$gmPdwTzJRWi)xE2-s-GFj5(ufT- zy$P3~8Jp1RnAzj($2{-zFlLG{Q~c5$@0X(mN06kxC8)D--Y zXR6gTHr|UcE5s|Orn)v!P*?Z`btPFu?!|8lNvEDTzv05f>m%5HT!x*jitAYeJ6R*U z9I&E3q70vfJX1?F5Vxt6v*<;-NtEh>&FU#DC0W!-vV!zqTulakbhyBz{ZuA8)qf)E zIdlEhgrstuz(-KQ70NTuKT$GW|L hy?3n2YB+%z9$L-r{{p;_2m7t@MWo(BJ!N?D{{T|$h(rJY literal 4322 zcmb_fX;&N98GZ&y%xD-JTYz1h;>d~P0tRGIuw!AM%m zZkw*@nsiCJr0L#tarZ1uWEv;#zQtYtLeJ^<_VimnBz^A82n|L!ZBFnxGn)6l%k%En zFTMQy6#%#5uPP3}l2KIA1S<*^B|*7Qg^jWTM@0qaRossy85dL@TjKG~DBgv4t9StK z5pwSpwD+laKR%%1gLqIpKBVHq_=uo=RKdq&d|bs=SPC8z?}rt9Ldbkle0)m5rxiRR zz8_Wa83mtJ@HqvaSMZpEFDQ6i!50;LNx_#Dd_}=m6?{#>*A;w2!4nF;DdfJT;M+pg zcVt{t@LdIS3cjb{`wD&_j(;fQM-tSMZkLVRVcpRsDCwi(%N~)?e899!XH-I{yXT~Y z@OUw2NN7!)mN8u^%o+A^eJ)Q*EM3g%`IEYBif^A7b{5Psb)=_s)1tCA+t72z^!tUC z*k2LDCG{F52TFKmtw2sx;TVl1vHGBr~&UTwspwVl8Hh6+3I(VT!_v zirN_vnbq)S+|Jm0wW;ACMm0QxpU8Mt!*i&zWc=D1aF!eymozNnr!t<`a2YSqfY7Aj z4jhs3qJ}H@nT(%n_yvBc;a51K!4M};YWOvN!)R#uEq`%F$+dnJsA9p zNBJ*EIH~j;8N}e9LXDF#b#|a4|zT*Di9|eP-{WZ1m_~80# z2VJ!ix?GK_TJ!Lb=;i>Fh)bwjUgZG!R(-E)Ip%8dJ*t_${eN=CM>bw8E}BMJ4#uH@p#9yl*x{>IC&U!+vf;(JCaK{pIR2v^ zBhN&i9^nMKwz=3gqUQK=E|mCEjir)l>td)&XiD{I$cl;&$j!{1GqRl1ZFN;Edw@Mt zr}|^4*3oMRYJ(Ghh;mKN8;-k+XlT`NbBP?Xt#v~_-^Q9qZLf8%74(iM-f@k1O{R@X zju~ZlNRE}cFb$pSr>DXC@t2KROiWr_TplYmcNOjVgkI9QClc9Wp}_5!5KJ>CxKX(N z6lY~S*VJC4Be=#^R(2o*nG0oiqlLIK>4~?msDpFNs^jqTvzp9SRC05>6mn`v$*!QO%!unU9ec43aX=Se@7G{(FOnBvz-H?R^$umVNAoD&AN{S8RKbcw-fDLEI4}-sBT+4ib0z;l0-!HZTNZZh!Q! z?ngP3GMpd_oE;BvVm!)uagojX0$cHK?18_t_W#9d7n5g;7e2pRLindUZ}`6vaWU~r z<*GaVINwCursWqgJR6Gb&CG^l`!chU*ln5F=GgwsRA{uT@5&Pxrn4Qj`1?8O>mv4T zv6P3siV?Di22Vd2k}ke-)%7LV-S@Jh&R{#6ZWrc=Tqok3i&qSxIIC;{CjAvN*PFu; h7PjbViBbn}jw7n6-pO&dlNY7`utX)~Db|F-e*ynk+syy~ From a8ea77407a2eab7f66389dfee8a6c93c0bf07c0b Mon Sep 17 00:00:00 2001 From: junior Date: Mon, 13 Dec 2021 14:49:54 -0500 Subject: [PATCH 6/6] added tests because ZipCode teaches TDD --- src/main/test/testParsedData.java | 123 ++++++++++++++++++++++++++++++ target/classes/Main.class | Bin 4904 -> 4903 bytes 2 files changed, 123 insertions(+) create mode 100644 src/main/test/testParsedData.java diff --git a/src/main/test/testParsedData.java b/src/main/test/testParsedData.java new file mode 100644 index 0000000..5e14a84 --- /dev/null +++ b/src/main/test/testParsedData.java @@ -0,0 +1,123 @@ +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class testParsedData { + private Parser parser; + private Main main; + + @Before + public void setup(){ + this.parser = new Parser(); + this.main = new Main(); + + } + + @Test + public void testMilkQty(){ + //given + Integer expected = 8; + //when + Integer actual = main.countItem(parser.dataParser(), "Milk"); + + //then + Assert.assertEquals(expected,actual); + + } + + @Test + public void testMilkPricesCount(){ + + //given + Integer expectedPrice1 = 5; + Integer expectedPrice2 = 1; + //when + Integer actualPrice1 = main.countItemAtPrice(parser.dataParser(), "Milk,price:3[.]23"); + Integer actualPrice2 = main.countItemAtPrice(parser.dataParser(), "Milk,price:1[.]23"); + //then + Assert.assertEquals(expectedPrice1, actualPrice1); + Assert.assertEquals(expectedPrice2, actualPrice2); + } + @Test + public void testCookiesQty(){ + //given + Integer expected = 8; + //when + Integer actual = main.countItem(parser.dataParser(), "Cookies"); + + //then + Assert.assertEquals(expected,actual); + + } + @Test + public void testCookiesPricesCount(){ + + //given + Integer expectedPrice1 = 8; + //when + Integer actualPrice1 = main.countItemAtPrice(parser.dataParser(), "Cookies,price:2[.]25"); + //then + Assert.assertEquals(expectedPrice1, actualPrice1); + + } + @Test + public void testApplesQty(){ + //given + Integer expected = 4; + //when + Integer actual = main.countItem(parser.dataParser(), "Apples"); + + //then + Assert.assertEquals(expected,actual); + + } + @Test + public void testApplesPricesCount(){ + + //given + Integer expectedPrice1 = 2; + Integer expectedPrice2 = 2; + //when + Integer actualPrice1 = main.countItemAtPrice(parser.dataParser(), "Apples,price:0[.]25"); + Integer actualPrice2 = main.countItemAtPrice(parser.dataParser(), "Apples,price:0[.]23"); + //then + Assert.assertEquals(expectedPrice1, actualPrice1); + Assert.assertEquals(expectedPrice2, actualPrice2); + } + @Test + public void testBreadQty(){ + //given + Integer expected = 6; + //when + Integer actual = main.countItem(parser.dataParser(), "Bread"); + + //then + Assert.assertEquals(expected,actual); + + } + + @Test + public void testBreadPricesCount(){ + + //given + Integer expectedPrice1 = 6; + //when + Integer actualPrice1 = main.countItemAtPrice(parser.dataParser(), "Bread,price:1[.]23"); + + //then + Assert.assertEquals(expectedPrice1, actualPrice1); + + } + + @Test + public void testErrorCount(){ + //given + Integer expected = 4; + //when + Integer actual = main.errorCounter(); + //then + Assert.assertEquals(expected, actual); + } + + +} diff --git a/target/classes/Main.class b/target/classes/Main.class index f16be48052289d7cccfa3a0f0db33962f2ab15b0..a6d54a7e980cafc8011c7942b532a6b4c81f0ab2 100644 GIT binary patch delta 222 zcmZ3Xwp?w)3}!aIwEUvn#Le@W6}dQ77$O){8DbdJC!ge&LGF&!Jx+A$q)pjBN)6lzZ8gNGz?^51`230gaEaNF$4o8G8m#5Y8he~ zCNab_EN4h!*u#**aFHR6;So^gBSZG&a-lTA0tPOILZDSe3&76*;Lf1N;K2|Cq$3!-Hop*vWi$+6U}gwp&}0Y(Y7GUF;S3oJkqos! z2Tfv#V_43R$gqbYnc*TsD#Ig&bcT-%S(D3z(ggDvxEKn6RuwWRFcbluUo!cvkQD&# CTr64u