From b5cf42c698f3f4453632450dc1b78342d3d97857 Mon Sep 17 00:00:00 2001 From: "github-classroom[bot]" <66690702+github-classroom[bot]@users.noreply.github.com> Date: Wed, 8 Jan 2025 16:17:31 +0000 Subject: [PATCH] Initial commit --- .gitignore | 2 ++ README.md | 14 ++++++++ build.gradle | 18 ++++++++++ src/main/java/Main.java | 12 +++++++ src/main/java/PalindromeChecker.java | 49 ++++++++++++++++++++++++++++ src/test/java/PalindromeTester.java | 33 +++++++++++++++++++ 6 files changed, 128 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 build.gradle create mode 100644 src/main/java/Main.java create mode 100644 src/main/java/PalindromeChecker.java create mode 100644 src/test/java/PalindromeTester.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f2a078 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +build/ +.gradle/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..f76a02c --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Autograding Example: Java +This example project is written in Java, and tested with Gradle/JUnit. + +### The assignment +The tests are currently failing because of an output mismatch. Fixing the `System.out.println` in the main method will make the tests green. + +### Setup command +N/A + +### Run command +`gradle test` + +### Notes +- The JDK is installed on GitHub Actions machines, so you're also able to directly invoke `javac`, `java`, or any other CLI command included in the JDK. diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..7cccf6c --- /dev/null +++ b/build.gradle @@ -0,0 +1,18 @@ +plugins { + id 'java' +} + +repositories { + mavenCentral() +} + +dependencies { + testImplementation('org.junit.jupiter:junit-jupiter:5.6.0') +} + +test { + useJUnitPlatform() + testLogging { + events "passed", "skipped", "failed" + } +} diff --git a/src/main/java/Main.java b/src/main/java/Main.java new file mode 100644 index 0000000..7624d8f --- /dev/null +++ b/src/main/java/Main.java @@ -0,0 +1,12 @@ + + +public class Main { + + public static void main(final String[] args) { + PalindromeChecker sim = new PalindromeChecker(); + sim.tester(); + } + + +} + diff --git a/src/main/java/PalindromeChecker.java b/src/main/java/PalindromeChecker.java new file mode 100644 index 0000000..c3bdfa1 --- /dev/null +++ b/src/main/java/PalindromeChecker.java @@ -0,0 +1,49 @@ +import java.io.File; // Import the File class +import java.io.FileNotFoundException; // Import this class to handle errors +import java.util.Scanner; // Import the Scanner class to read text files + +public class PalindromeChecker { +public void tester() +{ + //String lines[] = loadStrings("palindromes.txt"); + String[] lines = new String[6]; + try{ + File myFile = new File("palindromes.txt"); + Scanner myReader = new Scanner(myFile); + int counter = 0; + while (myReader.hasNextLine()) { + String data = myReader.nextLine(); + lines[counter] = data; + counter++; + } + myReader.close(); + } + catch (FileNotFoundException e) { + System.out.println("An error occurred."); + e.printStackTrace(); + } + System.out.println("there are " + lines.length + " lines"); + for (int i=0; i < lines.length; i++) + { + if(palindrome(lines[i])==true) + { + System.out.println(lines[i] + " IS a palindrome."); + } + else + { + System.out.println(lines[i] + " is NOT a palindrome."); + } + } +} +public boolean palindrome(String word) +{ + //your code here + return false; +} +public String reverse(String str) +{ + String sNew = new String(); + //your code here + return sNew; +} +} diff --git a/src/test/java/PalindromeTester.java b/src/test/java/PalindromeTester.java new file mode 100644 index 0000000..61eb899 --- /dev/null +++ b/src/test/java/PalindromeTester.java @@ -0,0 +1,33 @@ + + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; + +import java.io.*; + +public class PalindromeTester { + + @Test + public void sentences () { + PalindromeChecker sim = new PalindromeChecker(); + assertEquals(true, sim.palindrome("Madam, I'm Adam!")); + assertEquals(true, sim.palindrome("A Man! A Plan! A Canal! Panama!")); + } + @Test + public void space(){ + PalindromeChecker sim = new PalindromeChecker(); + assertEquals(true, sim.palindrome("nurses run")); + } + + @Test + public void word(){ + PalindromeChecker sim = new PalindromeChecker(); + assertEquals(false, sim.palindrome("test")); + assertEquals(true, sim.palindrome("rotator")); + assertEquals(false, sim.palindrome("rewriter")); + } +}