From a9ba51751aeba78994dceeb47c61ce0f1c94b602 Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 12:12:48 +0000 Subject: [PATCH 01/10] added yml file --- .github/workflows/github-actions-demo.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/github-actions-demo.yml diff --git a/.github/workflows/github-actions-demo.yml b/.github/workflows/github-actions-demo.yml new file mode 100644 index 0000000..2af4ce3 --- /dev/null +++ b/.github/workflows/github-actions-demo.yml @@ -0,0 +1,17 @@ +name: GitHub Actions Demo +on: [push] +jobs: + Explore-GitHub-Actions: + runs-on: ubuntu-latest + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v2 + - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ github.workspace }} + - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file From 78e005aad0d145fea9f4bdeef95211405103e8d3 Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 12:30:46 +0000 Subject: [PATCH 02/10] Added maven verify step --- .github/workflows/github-actions-demo.yml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/.github/workflows/github-actions-demo.yml b/.github/workflows/github-actions-demo.yml index 2af4ce3..5036fd8 100644 --- a/.github/workflows/github-actions-demo.yml +++ b/.github/workflows/github-actions-demo.yml @@ -1,17 +1,16 @@ name: GitHub Actions Demo on: [push] + jobs: - Explore-GitHub-Actions: + build: runs-on: ubuntu-latest + steps: - - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." - - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" - - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." - - name: Check out repository code - uses: actions/checkout@v2 - - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." - - run: echo "🖥️ The workflow is now ready to test your code on the runner." - - name: List files in the repository - run: | - ls ${{ github.workspace }} - - run: echo "🍏 This job's status is ${{ job.status }}." \ No newline at end of file + - uses: actions/checkout@v2 + - name: Set up JDK 11 + uses: actions/setup-java@v2 + with: + java-version: '11' + distribution: 'adopt' + - name: Build with Maven + run: mvn --batch-mode --update-snapshots verify \ No newline at end of file From 39aba4c73feda67936b88d39d1449015a650e07c Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 12:38:28 +0000 Subject: [PATCH 03/10] Added maven verify step --- .github/workflows/github-actions-demo.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/github-actions-demo.yml b/.github/workflows/github-actions-demo.yml index 5036fd8..ca3a2c8 100644 --- a/.github/workflows/github-actions-demo.yml +++ b/.github/workflows/github-actions-demo.yml @@ -13,4 +13,14 @@ jobs: java-version: '11' distribution: 'adopt' - name: Build with Maven - run: mvn --batch-mode --update-snapshots verify \ No newline at end of file + run: mvn --batch-mode --update-snapshots verify + deploy: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: akhileshns/heroku-deploy@v3.12.12 # This is the action + with: + heroku_api_key: ${{secrets.HEROKU_API_KEY}} + heroku_app_name: "priya-web-app" #Must be unique in Heroku + heroku_email: "prithu12@yahoo.com" \ No newline at end of file From a624d7e6cee16ad532c1ab50f8a19613a3e4db82 Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 14:23:11 +0000 Subject: [PATCH 04/10] Added another query --- src/main/java/com/develogical/QueryProcessor.java | 3 +++ src/test/java/com/develogical/QueryProcessorTest.java | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/src/main/java/com/develogical/QueryProcessor.java b/src/main/java/com/develogical/QueryProcessor.java index 832670e..029a7d9 100644 --- a/src/main/java/com/develogical/QueryProcessor.java +++ b/src/main/java/com/develogical/QueryProcessor.java @@ -8,6 +8,9 @@ public String process(String query) { "English poet, playwright, and actor, widely regarded as the greatest " + "writer in the English language and the world's pre-eminent dramatist."; } + if (query.toLowerCase().contains("christmas")) { + return "Holiday Season!!"; + } return ""; } } diff --git a/src/test/java/com/develogical/QueryProcessorTest.java b/src/test/java/com/develogical/QueryProcessorTest.java index 89467ca..9299cd8 100644 --- a/src/test/java/com/develogical/QueryProcessorTest.java +++ b/src/test/java/com/develogical/QueryProcessorTest.java @@ -20,6 +20,11 @@ public void knowsAboutShakespeare() throws Exception { assertThat(queryProcessor.process("Shakespeare"), containsString("playwright")); } + @Test + public void knowsAboutChristmas() throws Exception { + assertThat(queryProcessor.process("christmas"), containsString("Holiday Season!!")); + } + @Test public void isNotCaseSensitive() throws Exception { assertThat(queryProcessor.process("shakespeare"), containsString("playwright")); From 2223d2432358141957f89a0f36a0445926d687c7 Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 14:27:05 +0000 Subject: [PATCH 05/10] Added new query --- src/main/java/com/develogical/QueryProcessor.java | 4 ++-- src/test/java/com/develogical/QueryProcessorTest.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/develogical/QueryProcessor.java b/src/main/java/com/develogical/QueryProcessor.java index 029a7d9..0083951 100644 --- a/src/main/java/com/develogical/QueryProcessor.java +++ b/src/main/java/com/develogical/QueryProcessor.java @@ -8,8 +8,8 @@ public String process(String query) { "English poet, playwright, and actor, widely regarded as the greatest " + "writer in the English language and the world's pre-eminent dramatist."; } - if (query.toLowerCase().contains("christmas")) { - return "Holiday Season!!"; + if (query.toLowerCase().contains("what is your name")) { + return "Priya Diella"; } return ""; } diff --git a/src/test/java/com/develogical/QueryProcessorTest.java b/src/test/java/com/develogical/QueryProcessorTest.java index 9299cd8..f27b978 100644 --- a/src/test/java/com/develogical/QueryProcessorTest.java +++ b/src/test/java/com/develogical/QueryProcessorTest.java @@ -22,7 +22,7 @@ public void knowsAboutShakespeare() throws Exception { @Test public void knowsAboutChristmas() throws Exception { - assertThat(queryProcessor.process("christmas"), containsString("Holiday Season!!")); + assertThat(queryProcessor.process("what is your name"), containsString("Priya Diella")); } @Test From 3de16d26af87258dc7fafb5e3e2d06ee679271a2 Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 14:31:05 +0000 Subject: [PATCH 06/10] updated new query --- src/main/java/com/develogical/QueryProcessor.java | 2 +- src/test/java/com/develogical/QueryProcessorTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/develogical/QueryProcessor.java b/src/main/java/com/develogical/QueryProcessor.java index 0083951..794b07f 100644 --- a/src/main/java/com/develogical/QueryProcessor.java +++ b/src/main/java/com/develogical/QueryProcessor.java @@ -9,7 +9,7 @@ public String process(String query) { "writer in the English language and the world's pre-eminent dramatist."; } if (query.toLowerCase().contains("what is your name")) { - return "Priya Diella"; + return "PriyaDiella"; } return ""; } diff --git a/src/test/java/com/develogical/QueryProcessorTest.java b/src/test/java/com/develogical/QueryProcessorTest.java index f27b978..7bd6e0b 100644 --- a/src/test/java/com/develogical/QueryProcessorTest.java +++ b/src/test/java/com/develogical/QueryProcessorTest.java @@ -22,7 +22,7 @@ public void knowsAboutShakespeare() throws Exception { @Test public void knowsAboutChristmas() throws Exception { - assertThat(queryProcessor.process("what is your name"), containsString("Priya Diella")); + assertThat(queryProcessor.process("what is your name"), containsString("PriyaDiella")); } @Test From e23894fa3ed04cad0df638ea2b9c04e9d576173e Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 15:09:18 +0000 Subject: [PATCH 07/10] added findlargest function --- .../java/com/develogical/QueryProcessor.java | 26 +++++++++++++++++++ .../com/develogical/QueryProcessorTest.java | 7 ++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/develogical/QueryProcessor.java b/src/main/java/com/develogical/QueryProcessor.java index 794b07f..7e6d234 100644 --- a/src/main/java/com/develogical/QueryProcessor.java +++ b/src/main/java/com/develogical/QueryProcessor.java @@ -1,7 +1,26 @@ package com.develogical; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + public class QueryProcessor { + public String findLargest(String str) { + String[] numbers = str.split(","); + + List list = new ArrayList(); + for (int i = 0; i < numbers.length; i++) { + list.add(Integer.parseInt(numbers[i].trim())); + } + return String.valueOf(Collections.max(list)); + } + + public String findSum(String str) { + String[] numbers = str.split(","); + return String.valueOf(Integer.parseInt(numbers[0].trim()) + Integer.parseInt(numbers[1].trim())); + } + public String process(String query) { if (query.toLowerCase().contains("shakespeare")) { return "William Shakespeare (26 April 1564 - 23 April 1616) was an " + @@ -11,6 +30,13 @@ public String process(String query) { if (query.toLowerCase().contains("what is your name")) { return "PriyaDiella"; } + + if (query.toLowerCase().contains("which of the following numbers is the largest")) { + return findLargest(query.split("largest:")[1]); + } +// if (query.toLowerCase().contains("plus")) { +// return findSum(query.substring(query.indexOf("is"), query.indexOf("plus")) +// } return ""; } } diff --git a/src/test/java/com/develogical/QueryProcessorTest.java b/src/test/java/com/develogical/QueryProcessorTest.java index 7bd6e0b..8416dda 100644 --- a/src/test/java/com/develogical/QueryProcessorTest.java +++ b/src/test/java/com/develogical/QueryProcessorTest.java @@ -21,10 +21,15 @@ public void knowsAboutShakespeare() throws Exception { } @Test - public void knowsAboutChristmas() throws Exception { + public void knowsAboutMyTeam() throws Exception { assertThat(queryProcessor.process("what is your name"), containsString("PriyaDiella")); } + @Test + public void knowsAboutLargest() throws Exception { + assertThat(queryProcessor.process("which of the following numbers is the largest: 108, 90, 56, 203"), containsString("203")); + } + @Test public void isNotCaseSensitive() throws Exception { assertThat(queryProcessor.process("shakespeare"), containsString("playwright")); From 299c87a2f441b56fc008e2dec37c41a44c0f300a Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 15:42:02 +0000 Subject: [PATCH 08/10] added doMath function --- pom.xml | 5 +++ .../java/com/develogical/QueryProcessor.java | 34 +++++++++++++++---- .../com/develogical/QueryProcessorTest.java | 10 ++++++ 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index fae7560..06d1f8c 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,11 @@ 1.3 test + + org.apache.commons + commons-lang3 + 3.0 + diff --git a/src/main/java/com/develogical/QueryProcessor.java b/src/main/java/com/develogical/QueryProcessor.java index 7e6d234..234f651 100644 --- a/src/main/java/com/develogical/QueryProcessor.java +++ b/src/main/java/com/develogical/QueryProcessor.java @@ -1,5 +1,7 @@ package com.develogical; +import org.apache.commons.lang3.StringUtils; + import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -16,9 +18,16 @@ public String findLargest(String str) { return String.valueOf(Collections.max(list)); } - public String findSum(String str) { - String[] numbers = str.split(","); - return String.valueOf(Integer.parseInt(numbers[0].trim()) + Integer.parseInt(numbers[1].trim())); + public String doMath(String str, int i, int j) { + String temp = ""; + switch (str) { + case "plus": temp = String.valueOf(i + j); + break; + case "multiplied": temp = String.valueOf(i * j); + break; + default : break; + } + return temp; } public String process(String query) { @@ -34,9 +43,22 @@ public String process(String query) { if (query.toLowerCase().contains("which of the following numbers is the largest")) { return findLargest(query.split("largest:")[1]); } -// if (query.toLowerCase().contains("plus")) { -// return findSum(query.substring(query.indexOf("is"), query.indexOf("plus")) -// } + if (query.toLowerCase().contains("plus")) { + String[] temp = StringUtils.substringAfter(query, "what is ").split(" "); + for (String a: temp + ) { + System.out.println(a); + } + return doMath(temp[1], Integer.parseInt(temp[0]), Integer.parseInt(temp[2])); + } + if (query.toLowerCase().contains("multiplied")) { + String[] temp = StringUtils.substringAfter(query, "what is ").split(" "); + for (String a: temp + ) { + System.out.println(a); + } + return doMath(temp[1], Integer.parseInt(temp[0]), Integer.parseInt(temp[3])); + } return ""; } } diff --git a/src/test/java/com/develogical/QueryProcessorTest.java b/src/test/java/com/develogical/QueryProcessorTest.java index 8416dda..c04ba9f 100644 --- a/src/test/java/com/develogical/QueryProcessorTest.java +++ b/src/test/java/com/develogical/QueryProcessorTest.java @@ -30,6 +30,16 @@ public void knowsAboutLargest() throws Exception { assertThat(queryProcessor.process("which of the following numbers is the largest: 108, 90, 56, 203"), containsString("203")); } + @Test + public void knowsMathAdd() throws Exception { + assertThat(queryProcessor.process("what is 5 plus 19"), containsString("24")); + } + + @Test + public void knowsMathMultiply() throws Exception { + assertThat(queryProcessor.process("what is 8 multiplied by 10"), containsString("80")); + } + @Test public void isNotCaseSensitive() throws Exception { assertThat(queryProcessor.process("shakespeare"), containsString("playwright")); From db0053dc38ff4723977fee500a0b7fb426c48d41 Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 15:50:12 +0000 Subject: [PATCH 09/10] added TheresaMay PM query --- src/main/java/com/develogical/QueryProcessor.java | 12 +++--------- .../java/com/develogical/QueryProcessorTest.java | 5 +++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/develogical/QueryProcessor.java b/src/main/java/com/develogical/QueryProcessor.java index 234f651..c80a571 100644 --- a/src/main/java/com/develogical/QueryProcessor.java +++ b/src/main/java/com/develogical/QueryProcessor.java @@ -39,26 +39,20 @@ public String process(String query) { if (query.toLowerCase().contains("what is your name")) { return "PriyaDiella"; } - if (query.toLowerCase().contains("which of the following numbers is the largest")) { return findLargest(query.split("largest:")[1]); } if (query.toLowerCase().contains("plus")) { String[] temp = StringUtils.substringAfter(query, "what is ").split(" "); - for (String a: temp - ) { - System.out.println(a); - } return doMath(temp[1], Integer.parseInt(temp[0]), Integer.parseInt(temp[2])); } if (query.toLowerCase().contains("multiplied")) { String[] temp = StringUtils.substringAfter(query, "what is ").split(" "); - for (String a: temp - ) { - System.out.println(a); - } return doMath(temp[1], Integer.parseInt(temp[0]), Integer.parseInt(temp[3])); } + if (query.toLowerCase().contains("theresa may")) { + return "2016"; + } return ""; } } diff --git a/src/test/java/com/develogical/QueryProcessorTest.java b/src/test/java/com/develogical/QueryProcessorTest.java index c04ba9f..bfe991c 100644 --- a/src/test/java/com/develogical/QueryProcessorTest.java +++ b/src/test/java/com/develogical/QueryProcessorTest.java @@ -40,6 +40,11 @@ public void knowsMathMultiply() throws Exception { assertThat(queryProcessor.process("what is 8 multiplied by 10"), containsString("80")); } + @Test + public void knowsYearInWhichTheresaBecamePM() throws Exception { + assertThat(queryProcessor.process("which year was Theresa May first elected as Prime Minister of Great Britain"), containsString("2016")); + } + @Test public void isNotCaseSensitive() throws Exception { assertThat(queryProcessor.process("shakespeare"), containsString("playwright")); From 0b4dac397655076b1b48e70461d068d0554a44ad Mon Sep 17 00:00:00 2001 From: jayarpr Date: Thu, 23 Dec 2021 16:27:02 +0000 Subject: [PATCH 10/10] added square and cube root function --- .../java/com/develogical/QueryProcessor.java | 18 ++++++++++++++++++ .../com/develogical/QueryProcessorTest.java | 8 +++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/develogical/QueryProcessor.java b/src/main/java/com/develogical/QueryProcessor.java index c80a571..b4f6892 100644 --- a/src/main/java/com/develogical/QueryProcessor.java +++ b/src/main/java/com/develogical/QueryProcessor.java @@ -30,6 +30,15 @@ public String doMath(String str, int i, int j) { return temp; } + public static boolean isPowerNumber(int n, double power) { + int a = (int) Math.round(Math.pow(n, (1/power))); + if(Math.pow(a,power) == n) { + return true; + } else { + return false; + } + } + public String process(String query) { if (query.toLowerCase().contains("shakespeare")) { return "William Shakespeare (26 April 1564 - 23 April 1616) was an " + @@ -53,6 +62,15 @@ public String process(String query) { if (query.toLowerCase().contains("theresa may")) { return "2016"; } + if (query.toLowerCase().contains("a square and a cube")) { + String[] temp = StringUtils.substringAfter(query, "cube: ").split(", "); + StringBuffer str = new StringBuffer(); + for (String a: temp) { + if(isPowerNumber(Integer.parseInt(a), 2) && isPowerNumber(Integer.parseInt(a), 3)) + str.append(a); + } + return str.toString(); + } return ""; } } diff --git a/src/test/java/com/develogical/QueryProcessorTest.java b/src/test/java/com/develogical/QueryProcessorTest.java index bfe991c..8e83a62 100644 --- a/src/test/java/com/develogical/QueryProcessorTest.java +++ b/src/test/java/com/develogical/QueryProcessorTest.java @@ -27,7 +27,7 @@ public void knowsAboutMyTeam() throws Exception { @Test public void knowsAboutLargest() throws Exception { - assertThat(queryProcessor.process("which of the following numbers is the largest: 108, 90, 56, 203"), containsString("203")); + assertThat(queryProcessor.process("which of the following numbers is the largest: 453, 26"), containsString("453")); } @Test @@ -45,6 +45,12 @@ public void knowsYearInWhichTheresaBecamePM() throws Exception { assertThat(queryProcessor.process("which year was Theresa May first elected as Prime Minister of Great Britain"), containsString("2016")); } + @Test + public void knowsNumbersBothSquareAndCube() throws Exception { + assertThat(queryProcessor.process("which of the following numbers is both a square and a cube: 836, 1000000, 210, 36"), containsString("1000000")); + } + + @Test public void isNotCaseSensitive() throws Exception { assertThat(queryProcessor.process("shakespeare"), containsString("playwright"));