From b6e861ac6fa3fff74fcae7432bc4296f04778fb2 Mon Sep 17 00:00:00 2001 From: Reetan Singh Date: Tue, 28 Jan 2025 23:20:08 -0800 Subject: [PATCH 1/9] Commit message --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e57375e..07b30f1 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ A project to exercise Java, JUnit, git, GitHub, and code-reading skills. Student ## Expectations ### Academic Honesty - +test change THIS IS AN INDIVIDUAL PROJECT. The following is not allowed: - You MAY NOT copy any code from an AI. - You MAY NOT paste any of the project or your code into an AI. From e5e114d6c1ceeb146a772be1970ccc29e809493d Mon Sep 17 00:00:00 2001 From: Reetan Singh Date: Tue, 28 Jan 2025 23:24:14 -0800 Subject: [PATCH 2/9] test --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 07b30f1..60d3f9b 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ A project to exercise Java, JUnit, git, GitHub, and code-reading skills. Student ### Academic Honesty test change +another test change THIS IS AN INDIVIDUAL PROJECT. The following is not allowed: - You MAY NOT copy any code from an AI. - You MAY NOT paste any of the project or your code into an AI. From 8103039783dee8d843b87b61b805c3a50feabc42 Mon Sep 17 00:00:00 2001 From: Reetan Singh Date: Wed, 29 Jan 2025 15:30:38 -0800 Subject: [PATCH 3/9] tokens are read with the scanner and added to our list --- .DS_Store | Bin 0 -> 6148 bytes src/LowercaseSentenceTokenizer.java | 14 +++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b3c233915d471852b9ccb69adfa4170fe3935052 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8O({YS3Oz1(E!fzih?h|73mDOZN=;1BV9b^zHHT8jSzpK}@p+ut z-GIfMMeGdhe)GGV{UH0p7~|tb=rCq8#w=)v9F-bDcWtO)k`XzMk0&UQD0kmqfm4IytbdWXE6y@1U5~yn1O8%j6L}Rd$s{NDL4I!~ij{*$kL- z!Rl@{4YYbbTmFH`%-UoRnx z7$64z83VjE@g`$flsQ{}EDz6G0qq_d3g(rlfPlVs2>=84k)8_bxIi89T!W=X90mQV Q9FQ&oiV*6EfnQ+Y3y_#eegFUf literal 0 HcmV?d00001 diff --git a/src/LowercaseSentenceTokenizer.java b/src/LowercaseSentenceTokenizer.java index cc8285d..b48a353 100644 --- a/src/LowercaseSentenceTokenizer.java +++ b/src/LowercaseSentenceTokenizer.java @@ -1,3 +1,4 @@ +import java.util.ArrayList; import java.util.List; import java.util.Scanner; @@ -28,9 +29,16 @@ public class LowercaseSentenceTokenizer implements Tokenizer { * @param scanner the Scanner to read the input text from * @return a list of tokens, where each token is a word or a period */ - public List tokenize(Scanner scanner) { - // TODO: Implement this function to convert the scanner's input to a list of words and periods - return null; + + public List tokenize(Scanner scanner) { + List tokens = new ArrayList<>(); + + while (scanner.hasNext()) { + String token = scanner.next(); + tokens.add(token); + } + + return tokens; } } From dbd5425b2957ec901aa34abba9ab92d57b8f8fe9 Mon Sep 17 00:00:00 2001 From: Reetan Singh Date: Wed, 29 Jan 2025 15:54:52 -0800 Subject: [PATCH 4/9] test checks the whitespace for extra white space and makes sure final token list dosent --- src/LowercaseSentenceTokenizerTest.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/LowercaseSentenceTokenizerTest.java b/src/LowercaseSentenceTokenizerTest.java index 85ac3a2..701e90f 100644 --- a/src/LowercaseSentenceTokenizerTest.java +++ b/src/LowercaseSentenceTokenizerTest.java @@ -15,10 +15,19 @@ void testTokenizeWithNoCapitalizationOrPeriod() { assertEquals(List.of("this", "is", "a", "lowercase", "sentence", "without", "a", "period"), tokens); } - // Wave 2 - /* - * Write your test here! - */ +// Wave 2 + @Test + void testTokenizeWithManySpaces() { + LowercaseSentenceTokenizer tokenizer = new LowercaseSentenceTokenizer(); + String input = "hello hi hi hi hello hello"; + Scanner scanner = new Scanner(input); + + List tokens = tokenizer.tokenize(scanner); + List expected = List.of("hello", "hi", "hi", "hi", "hello", "hello"); + + assertEquals(expected, tokens, "Tokens did not match "); +} + // Wave 3 From a8798df838c5c21bf8c8a2a1087eac2b68ac6560 Mon Sep 17 00:00:00 2001 From: Reetan Singh Date: Wed, 29 Jan 2025 18:06:56 -0800 Subject: [PATCH 5/9] should send token to lower case --- src/LowercaseSentenceTokenizer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/LowercaseSentenceTokenizer.java b/src/LowercaseSentenceTokenizer.java index b48a353..2529c85 100644 --- a/src/LowercaseSentenceTokenizer.java +++ b/src/LowercaseSentenceTokenizer.java @@ -34,7 +34,7 @@ public List tokenize(Scanner scanner) { List tokens = new ArrayList<>(); while (scanner.hasNext()) { - String token = scanner.next(); + String token = scanner.next().toLowerCase; tokens.add(token); } From e4d9f2f126ffaa12840c8aac54296899ba492cd0 Mon Sep 17 00:00:00 2001 From: Reetan Singh Date: Wed, 29 Jan 2025 18:10:06 -0800 Subject: [PATCH 6/9] checks our token to see if it ends with a . --- src/LowercaseSentenceTokenizer.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/LowercaseSentenceTokenizer.java b/src/LowercaseSentenceTokenizer.java index 2529c85..c9910e8 100644 --- a/src/LowercaseSentenceTokenizer.java +++ b/src/LowercaseSentenceTokenizer.java @@ -34,8 +34,11 @@ public List tokenize(Scanner scanner) { List tokens = new ArrayList<>(); while (scanner.hasNext()) { - String token = scanner.next().toLowerCase; - tokens.add(token); + String token = scanner.next().toLowerCase(); + if (token.endsWith(".")) { + if (token.length() == 1) { + tokens.add("."); + } } return tokens; From ed577c98d8b096d7593f7ce59b61ed6be16de73d Mon Sep 17 00:00:00 2001 From: Reetan Singh Date: Wed, 29 Jan 2025 18:16:19 -0800 Subject: [PATCH 7/9] if token does end with a period its removed --- src/LowercaseSentenceTokenizer.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/LowercaseSentenceTokenizer.java b/src/LowercaseSentenceTokenizer.java index c9910e8..b556a64 100644 --- a/src/LowercaseSentenceTokenizer.java +++ b/src/LowercaseSentenceTokenizer.java @@ -39,6 +39,10 @@ public List tokenize(Scanner scanner) { if (token.length() == 1) { tokens.add("."); } + }else { + String wordWithoutPeriod = token.substring(0, token.length() - 1); + tokens.add(wordWithoutPeriod); + tokens.add("."); } return tokens; From f2dedd773faeb983c87ab83a2cb93639e430a16c Mon Sep 17 00:00:00 2001 From: Reetan Singh Date: Wed, 29 Jan 2025 18:22:14 -0800 Subject: [PATCH 8/9] if token dosent end with . add --- src/LowercaseSentenceTokenizer.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/LowercaseSentenceTokenizer.java b/src/LowercaseSentenceTokenizer.java index b556a64..5903eb9 100644 --- a/src/LowercaseSentenceTokenizer.java +++ b/src/LowercaseSentenceTokenizer.java @@ -44,8 +44,11 @@ public List tokenize(Scanner scanner) { tokens.add(wordWithoutPeriod); tokens.add("."); } - - return tokens; + } else { + tokens.add(token); } } +return tokens; +} + From f2a61451dab40f1d023627545c20bd1b9d02b9e0 Mon Sep 17 00:00:00 2001 From: Reetan Singh Date: Wed, 29 Jan 2025 20:18:48 -0800 Subject: [PATCH 9/9] debugging fixing missing brackets --- src/LowercaseSentenceTokenizer.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/LowercaseSentenceTokenizer.java b/src/LowercaseSentenceTokenizer.java index 5903eb9..87c26a6 100644 --- a/src/LowercaseSentenceTokenizer.java +++ b/src/LowercaseSentenceTokenizer.java @@ -38,7 +38,7 @@ public List tokenize(Scanner scanner) { if (token.endsWith(".")) { if (token.length() == 1) { tokens.add("."); - } + }else { String wordWithoutPeriod = token.substring(0, token.length() - 1); tokens.add(wordWithoutPeriod); @@ -48,7 +48,7 @@ public List tokenize(Scanner scanner) { tokens.add(token); } } - return tokens; -} + } + }