From 15fbb8adccc2cef7254dfea25e6bbd9a1a803856 Mon Sep 17 00:00:00 2001 From: fady maged Date: Sat, 23 Nov 2019 17:07:38 +0200 Subject: [PATCH 01/45] Setting threads and adding Sphere area class --- src/ISubscriber.java | 2 +- src/Main.java | 13 +++++++------ src/ReallySimpleSubscriber.java | 8 -------- src/SimpleSubscriber.java | 10 ---------- src/SphereArea.java | 7 +++++++ src/ThreadSubscriber.java | 23 +++++++++++++++++++++++ src/Topic.java | 25 +++++++++++++++++-------- 7 files changed, 55 insertions(+), 33 deletions(-) delete mode 100644 src/ReallySimpleSubscriber.java delete mode 100644 src/SimpleSubscriber.java create mode 100644 src/SphereArea.java create mode 100644 src/ThreadSubscriber.java diff --git a/src/ISubscriber.java b/src/ISubscriber.java index d3a605c..f595e5b 100644 --- a/src/ISubscriber.java +++ b/src/ISubscriber.java @@ -1,4 +1,4 @@ public interface ISubscriber { - public abstract void notifySubscriber(String input); + public abstract void notifySubscriber(); } diff --git a/src/Main.java b/src/Main.java index 9b8c2b0..ce21dfd 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,17 +1,18 @@ import java.util.Scanner; public class Main { - private static ISubscriber subscribers [] = { - new SimpleSubscriber(), - new ReallySimpleSubscriber(), + private static ThreadSubscriber subscribers [] = { + new SphereArea() , }; public static void main(String[] args) { Topic mathTopic = new Topic(); - for (ISubscriber sub : subscribers) { + for (ThreadSubscriber sub : subscribers){ mathTopic.addSubscriber(sub); + sub.setTopic(mathTopic); } Scanner sc = new Scanner(System.in); - String input = sc.next(); - mathTopic.dispatchEvent(input); + double input = sc.nextDouble(); + mathTopic.setInput(input); + mathTopic.dispatchEvent(); } } diff --git a/src/ReallySimpleSubscriber.java b/src/ReallySimpleSubscriber.java deleted file mode 100644 index fb1114a..0000000 --- a/src/ReallySimpleSubscriber.java +++ /dev/null @@ -1,8 +0,0 @@ - -public class ReallySimpleSubscriber implements ISubscriber { - @Override - public void notifySubscriber(String input) { - // TODO Auto-generated method stub - System.out.println("Hello, I am really a simple subscriber and I am notified with " + input); - } -} diff --git a/src/SimpleSubscriber.java b/src/SimpleSubscriber.java deleted file mode 100644 index 5b0e4aa..0000000 --- a/src/SimpleSubscriber.java +++ /dev/null @@ -1,10 +0,0 @@ - -public class SimpleSubscriber implements ISubscriber { - - @Override - public void notifySubscriber(String input) { - // TODO Auto-generated method stub - System.out.println("Hello, I am a simple subscriber and I am notified with " + input); - } - -} diff --git a/src/SphereArea.java b/src/SphereArea.java new file mode 100644 index 0000000..c0cc39d --- /dev/null +++ b/src/SphereArea.java @@ -0,0 +1,7 @@ +public class SphereArea extends ThreadSubscriber{ + @Override + public void notifySubscriber() { + double input = topic.getInput(); + System.out.println("Sphere area = " + 4*3.14*input*input); + } +} diff --git a/src/ThreadSubscriber.java b/src/ThreadSubscriber.java new file mode 100644 index 0000000..6c572bc --- /dev/null +++ b/src/ThreadSubscriber.java @@ -0,0 +1,23 @@ +public abstract class ThreadSubscriber extends Thread implements ISubscriber { + Topic topic; + + public ThreadSubscriber(){ + + } + + public Topic getTopic() { + return topic; + } + + public void setTopic(Topic topic) { + this.topic = topic; + } + + @Override + public abstract void notifySubscriber(); + + @Override + public void run() { + notifySubscriber(); + } +} diff --git a/src/Topic.java b/src/Topic.java index 8fa2e2e..39bd8bb 100644 --- a/src/Topic.java +++ b/src/Topic.java @@ -3,23 +3,32 @@ public class Topic { - private List subscribers; + private List subscribers; + double input; public Topic() { - subscribers = new ArrayList(); + subscribers = new ArrayList(); } - public void addSubscriber(ISubscriber sub) { + public void addSubscriber(ThreadSubscriber sub) { subscribers.add(sub); } - public List getSubscribers() { + public List getSubscribers() { return subscribers; } - - public void dispatchEvent(String input) { - for (ISubscriber sub : this.getSubscribers()) { - sub.notifySubscriber(input); + + public double getInput() { + return input; + } + + public void setInput(double input) { + this.input = input; + } + + public void dispatchEvent() { + for (ThreadSubscriber sub : this.getSubscribers()) { + sub.start(); } } } From 72cc86da2e4acf3c24abc07ed595ac0a44c43b2b Mon Sep 17 00:00:00 2001 From: mohammed abdelwhab Date: Sat, 23 Nov 2019 17:43:58 +0200 Subject: [PATCH 02/45] Added Circle Area --- src/CircleArea.java | 10 ++++++++++ src/Main.java | 1 + 2 files changed, 11 insertions(+) create mode 100644 src/CircleArea.java diff --git a/src/CircleArea.java b/src/CircleArea.java new file mode 100644 index 0000000..8a3f21e --- /dev/null +++ b/src/CircleArea.java @@ -0,0 +1,10 @@ +public class CircleArea extends ThreadSubscriber { + + @Override + public void notifySubscriber() { + double input = topic.getInput(); + System.out.println("Area of the circle is "+3.14159265359*input*input +" in centimetres squared"); + + } + +} diff --git a/src/Main.java b/src/Main.java index ce21dfd..c4499f1 100644 --- a/src/Main.java +++ b/src/Main.java @@ -3,6 +3,7 @@ public class Main { private static ThreadSubscriber subscribers [] = { new SphereArea() , + new CircleArea(), }; public static void main(String[] args) { Topic mathTopic = new Topic(); From a60817ae4c73aaf14b63daeea37af421be264134 Mon Sep 17 00:00:00 2001 From: eddsanity Date: Sat, 23 Nov 2019 18:38:04 +0200 Subject: [PATCH 03/45] Circle Circumference function implemented --- src/CircleCircumference.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/CircleCircumference.java diff --git a/src/CircleCircumference.java b/src/CircleCircumference.java new file mode 100644 index 0000000..f2c9e54 --- /dev/null +++ b/src/CircleCircumference.java @@ -0,0 +1,4 @@ + +public class CircleCircumference { + +} From b525315dfc8e9b33a89ccadf48682ceb151d13f1 Mon Sep 17 00:00:00 2001 From: eddsanity Date: Sat, 23 Nov 2019 18:43:37 +0200 Subject: [PATCH 04/45] added class body --- src/CircleCircumference.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/CircleCircumference.java b/src/CircleCircumference.java index f2c9e54..6b76783 100644 --- a/src/CircleCircumference.java +++ b/src/CircleCircumference.java @@ -1,4 +1,9 @@ - -public class CircleCircumference { - +public class CircleCircumference extends ThreadSubscriber +{ + @Override + public void notifySubscriber() + { + double input = topic.getInput(); + System.out.println("Circle Circumference: " + (2 * input * 3.14)); + } } From f056626ffa0c380f49b3b6c3c4042ca8844dbaa7 Mon Sep 17 00:00:00 2001 From: eddsanity Date: Sat, 23 Nov 2019 18:53:32 +0200 Subject: [PATCH 05/45] added circumference object in main --- src/Main.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Main.java b/src/Main.java index c4499f1..649647c 100644 --- a/src/Main.java +++ b/src/Main.java @@ -4,6 +4,7 @@ public class Main { private static ThreadSubscriber subscribers [] = { new SphereArea() , new CircleArea(), + new CircleCircumference() }; public static void main(String[] args) { Topic mathTopic = new Topic(); From 61e3292a21ebfaadb78c3540f11bf5148fea8ccb Mon Sep 17 00:00:00 2001 From: BouSenna Date: Sat, 23 Nov 2019 23:05:18 +0200 Subject: [PATCH 06/45] Added class summation series. --- src/SummationSeries.java | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/SummationSeries.java diff --git a/src/SummationSeries.java b/src/SummationSeries.java new file mode 100644 index 0000000..f3e7865 --- /dev/null +++ b/src/SummationSeries.java @@ -0,0 +1,10 @@ +public class SummationSeries extends ThreadSubscriber { + @Override + public void notifySubscriber() { + double input = topic.getInput(); + int sum = 0; + for (int i = 1 ; i <= input ; i++) + sum += i; + System.out.println("The sum of the first "+ input +" numbers equals "+ sum); + } +} \ No newline at end of file From 36e2609c8b8de72eb8988cd66879f33bbb8e2ffc Mon Sep 17 00:00:00 2001 From: BouSenna Date: Sat, 23 Nov 2019 23:07:22 +0200 Subject: [PATCH 07/45] Added summation series object in main. --- src/Main.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Main.java b/src/Main.java index 649647c..e7b9ef6 100644 --- a/src/Main.java +++ b/src/Main.java @@ -4,7 +4,8 @@ public class Main { private static ThreadSubscriber subscribers [] = { new SphereArea() , new CircleArea(), - new CircleCircumference() + new CircleCircumference(), + new SummationSeries() }; public static void main(String[] args) { Topic mathTopic = new Topic(); From 168eed77bcec9170a01f77d68d956145a8d1bdab Mon Sep 17 00:00:00 2001 From: BouSenna Date: Sat, 23 Nov 2019 23:08:36 +0200 Subject: [PATCH 08/45] Cast input from double to integer. --- src/SummationSeries.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SummationSeries.java b/src/SummationSeries.java index f3e7865..c635cdd 100644 --- a/src/SummationSeries.java +++ b/src/SummationSeries.java @@ -5,6 +5,6 @@ public void notifySubscriber() { int sum = 0; for (int i = 1 ; i <= input ; i++) sum += i; - System.out.println("The sum of the first "+ input +" numbers equals "+ sum); + System.out.println("The sum of the first "+ (int) input +" numbers equals "+ sum); } } \ No newline at end of file From f8399a70e7bfacdf70ef68b44d1301c937905e69 Mon Sep 17 00:00:00 2001 From: youssef88999 Date: Sun, 24 Nov 2019 18:49:38 +0200 Subject: [PATCH 09/45] Added MultiplicationSeries Class --- src/MultiplicationSeries.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/MultiplicationSeries.java diff --git a/src/MultiplicationSeries.java b/src/MultiplicationSeries.java new file mode 100644 index 0000000..6263c22 --- /dev/null +++ b/src/MultiplicationSeries.java @@ -0,0 +1,4 @@ +package PACKAGE_NAME; + +public class MultiplicationSeries { +} From 6dca8e4010d5fc4b22945829928835b1f05fcab4 Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Sun, 24 Nov 2019 20:51:47 +0200 Subject: [PATCH 10/45] Update MultiplicationSeries.java --- src/MultiplicationSeries.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/MultiplicationSeries.java b/src/MultiplicationSeries.java index 6263c22..70489f7 100644 --- a/src/MultiplicationSeries.java +++ b/src/MultiplicationSeries.java @@ -1,4 +1,10 @@ -package PACKAGE_NAME; - -public class MultiplicationSeries { +public class MultiplicationSeries extends ThreadSubscriber { + @Override + public void notifySubscriber() { + double input = topic.getInput(); + int fact = 1; + for(int i = 1; i<= input; i++) + fact*=i; + System.out.println("Factorial of "+input+": "+fact); + } } From 5ba609d898c992dfa35d9d836083341c0d7e8d50 Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Sun, 24 Nov 2019 20:52:37 +0200 Subject: [PATCH 11/45] Update Main.java --- src/Main.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Main.java b/src/Main.java index e7b9ef6..70fdc3d 100644 --- a/src/Main.java +++ b/src/Main.java @@ -5,7 +5,8 @@ public class Main { new SphereArea() , new CircleArea(), new CircleCircumference(), - new SummationSeries() + new SummationSeries(), + new MultiplicationSeries() }; public static void main(String[] args) { Topic mathTopic = new Topic(); From 91fe3cb33a347027db8166d1d24e9fc3335f0ea1 Mon Sep 17 00:00:00 2001 From: fady maged Date: Mon, 25 Nov 2019 00:21:52 +0200 Subject: [PATCH 12/45] Added .travis.yml Added ObserverTest and MainTest classes Changed all Observer classes --- .travis.yml | 8 ++++++++ src/CircleArea.java | 14 ++++++++++++-- src/CircleCircumference.java | 17 ++++++++++++++--- src/ISubscriber.java | 1 + src/MainTest.java | 17 +++++++++++++++++ src/MultiplicationSeries.java | 16 ++++++++++++++-- src/ObserverTest.java | 3 +++ src/SphereArea.java | 23 ++++++++++++++++++++--- src/SummationSeries.java | 18 +++++++++++++++--- src/ThreadSubscriber.java | 1 + 10 files changed, 105 insertions(+), 13 deletions(-) create mode 100644 .travis.yml create mode 100644 src/MainTest.java create mode 100644 src/ObserverTest.java diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..4b527d4 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,8 @@ +language: bash +install: true +jdk: orcalejdk13 +before_script: cd src +script: +- javac MainTest.java +- java MainTest + diff --git a/src/CircleArea.java b/src/CircleArea.java index 8a3f21e..3d10b84 100644 --- a/src/CircleArea.java +++ b/src/CircleArea.java @@ -1,10 +1,20 @@ -public class CircleArea extends ThreadSubscriber { +public class CircleArea extends ThreadSubscriber implements ObserverTest { + double input; @Override public void notifySubscriber() { - double input = topic.getInput(); + input = topic.getInput(); System.out.println("Area of the circle is "+3.14159265359*input*input +" in centimetres squared"); } + @Override + public String execute() { + return null; + } + + @Override + public Boolean test() { + return null; + } } diff --git a/src/CircleCircumference.java b/src/CircleCircumference.java index 6b76783..9c1248b 100644 --- a/src/CircleCircumference.java +++ b/src/CircleCircumference.java @@ -1,9 +1,20 @@ -public class CircleCircumference extends ThreadSubscriber -{ +public class CircleCircumference extends ThreadSubscriber implements ObserverTest { + double input; + @Override public void notifySubscriber() { - double input = topic.getInput(); + input = topic.getInput(); System.out.println("Circle Circumference: " + (2 * input * 3.14)); } + + @Override + public String execute() { + return null; + } + + @Override + public Boolean test() { + return true; + } } diff --git a/src/ISubscriber.java b/src/ISubscriber.java index f595e5b..0ef7b4b 100644 --- a/src/ISubscriber.java +++ b/src/ISubscriber.java @@ -1,4 +1,5 @@ public interface ISubscriber { public abstract void notifySubscriber(); + public abstract String execute(); } diff --git a/src/MainTest.java b/src/MainTest.java new file mode 100644 index 0000000..3d91171 --- /dev/null +++ b/src/MainTest.java @@ -0,0 +1,17 @@ +public class MainTest { + private static ObserverTest subscribers [] = { + new SphereArea() , + new CircleArea(), + new CircleCircumference(), + new SummationSeries(), + new MultiplicationSeries() + }; + public static void main(String[] args) { + for (ObserverTest sub : subscribers){ + Boolean res = sub.test(); + if(res!=null && res==false){ + System.exit(1); + } + } + } +} diff --git a/src/MultiplicationSeries.java b/src/MultiplicationSeries.java index 70489f7..a7c0f43 100644 --- a/src/MultiplicationSeries.java +++ b/src/MultiplicationSeries.java @@ -1,10 +1,22 @@ -public class MultiplicationSeries extends ThreadSubscriber { +public class MultiplicationSeries extends ThreadSubscriber implements ObserverTest { + double input; + @Override public void notifySubscriber() { - double input = topic.getInput(); + input = topic.getInput(); int fact = 1; for(int i = 1; i<= input; i++) fact*=i; System.out.println("Factorial of "+input+": "+fact); } + + @Override + public String execute() { + return null; + } + + @Override + public Boolean test() { + return null; + } } diff --git a/src/ObserverTest.java b/src/ObserverTest.java new file mode 100644 index 0000000..d4240f9 --- /dev/null +++ b/src/ObserverTest.java @@ -0,0 +1,3 @@ +public interface ObserverTest { + Boolean test(); +} diff --git a/src/SphereArea.java b/src/SphereArea.java index c0cc39d..62051b3 100644 --- a/src/SphereArea.java +++ b/src/SphereArea.java @@ -1,7 +1,24 @@ -public class SphereArea extends ThreadSubscriber{ +public class SphereArea extends ThreadSubscriber implements ObserverTest{ + double input; + @Override public void notifySubscriber() { - double input = topic.getInput(); - System.out.println("Sphere area = " + 4*3.14*input*input); + input = topic.getInput(); + System.out.println("Sphere area = " + execute()); + } + @Override + public String execute(){ + String res = String.valueOf(4*3.14*input*input); + return res; + } + @Override + public Boolean test(){ + input = 1; + + if(!execute().equals("12.56")) { + System.out.println("Sphere area = " + execute()); + return false; + } + return true; } } diff --git a/src/SummationSeries.java b/src/SummationSeries.java index c635cdd..74cb229 100644 --- a/src/SummationSeries.java +++ b/src/SummationSeries.java @@ -1,10 +1,22 @@ -public class SummationSeries extends ThreadSubscriber { - @Override +public class SummationSeries extends ThreadSubscriber implements ObserverTest { + double input; + + @Override public void notifySubscriber() { - double input = topic.getInput(); + input = topic.getInput(); int sum = 0; for (int i = 1 ; i <= input ; i++) sum += i; System.out.println("The sum of the first "+ (int) input +" numbers equals "+ sum); } + + @Override + public String execute() { + return null; + } + + @Override + public Boolean test() { + return true; + } } \ No newline at end of file diff --git a/src/ThreadSubscriber.java b/src/ThreadSubscriber.java index 6c572bc..5b06e74 100644 --- a/src/ThreadSubscriber.java +++ b/src/ThreadSubscriber.java @@ -15,6 +15,7 @@ public void setTopic(Topic topic) { @Override public abstract void notifySubscriber(); + public abstract String execute(); @Override public void run() { From e50d086fafd11e5d1bbd6cb6a4c168410fec1c5f Mon Sep 17 00:00:00 2001 From: fady maged Date: Mon, 25 Nov 2019 00:29:06 +0200 Subject: [PATCH 13/45] test --- src/CircleArea.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CircleArea.java b/src/CircleArea.java index 3d10b84..8999e2d 100644 --- a/src/CircleArea.java +++ b/src/CircleArea.java @@ -15,6 +15,6 @@ public String execute() { @Override public Boolean test() { - return null; + return false; } } From 24ac7257ed62d308d8a0549ca608c0936c9e438d Mon Sep 17 00:00:00 2001 From: fady maged Date: Mon, 25 Nov 2019 00:37:38 +0200 Subject: [PATCH 14/45] test2 --- src/CircleArea.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CircleArea.java b/src/CircleArea.java index 8999e2d..3d10b84 100644 --- a/src/CircleArea.java +++ b/src/CircleArea.java @@ -15,6 +15,6 @@ public String execute() { @Override public Boolean test() { - return false; + return null; } } From 3345810c4646398ba9c9d1216a444f503acc7a08 Mon Sep 17 00:00:00 2001 From: youssef88999 Date: Mon, 25 Nov 2019 02:05:02 +0200 Subject: [PATCH 15/45] Added tests to MultiplicationSeries --- .idea/.gitignore | 2 ++ .idea/.name | 1 + .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ GitAssignmentObserver.iml | 12 ++++++++++++ 6 files changed, 35 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 GitAssignmentObserver.iml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..5c98b42 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml \ No newline at end of file diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..477e576 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +GitAssignmentObserver \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..84da703 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3dd0b66 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/GitAssignmentObserver.iml b/GitAssignmentObserver.iml new file mode 100644 index 0000000..26db12c --- /dev/null +++ b/GitAssignmentObserver.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file From 4e9ee116798a5fd7744eb26835f80f946286c532 Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Mon, 25 Nov 2019 02:06:16 +0200 Subject: [PATCH 16/45] Update MultiplicationSeries.java --- src/MultiplicationSeries.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/MultiplicationSeries.java b/src/MultiplicationSeries.java index a7c0f43..c458512 100644 --- a/src/MultiplicationSeries.java +++ b/src/MultiplicationSeries.java @@ -4,19 +4,26 @@ public class MultiplicationSeries extends ThreadSubscriber implements ObserverTe @Override public void notifySubscriber() { input = topic.getInput(); - int fact = 1; - for(int i = 1; i<= input; i++) - fact*=i; - System.out.println("Factorial of "+input+": "+fact); + System.out.println("Factorial of "+input+": "+execute()); } @Override public String execute() { - return null; + int fact = 1; + for(int i = 1; i<= input; i++) + fact*=i; + String res = String.valueOf(fact); + return res; } @Override public Boolean test() { - return null; + input = 1; + if(!execute().equals("1")) + return false; + input=5; + if(!execute().equals("120")) + return false; + return true; } } From 44fcde972b0885e497a441b584a92e2e1a3e60de Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Mon, 25 Nov 2019 02:06:50 +0200 Subject: [PATCH 17/45] Update SphereArea.java --- src/SphereArea.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/SphereArea.java b/src/SphereArea.java index 62051b3..34a67fc 100644 --- a/src/SphereArea.java +++ b/src/SphereArea.java @@ -16,7 +16,6 @@ public Boolean test(){ input = 1; if(!execute().equals("12.56")) { - System.out.println("Sphere area = " + execute()); return false; } return true; From 547ab4de198df192fc2320eff5ac23052b27fba4 Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Mon, 25 Nov 2019 02:07:28 +0200 Subject: [PATCH 18/45] Delete GitAssignmentObserver.iml --- GitAssignmentObserver.iml | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 GitAssignmentObserver.iml diff --git a/GitAssignmentObserver.iml b/GitAssignmentObserver.iml deleted file mode 100644 index 26db12c..0000000 --- a/GitAssignmentObserver.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file From 8a2f27bab493de3be5044f6e04a2013ec5a2c079 Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Mon, 25 Nov 2019 02:07:45 +0200 Subject: [PATCH 19/45] Delete .gitignore --- .idea/.gitignore | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 .idea/.gitignore diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 5c98b42..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Default ignored files -/workspace.xml \ No newline at end of file From 1f22e4177a008fc872deb3273408593ff8104fd1 Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Mon, 25 Nov 2019 02:07:52 +0200 Subject: [PATCH 20/45] Delete .name --- .idea/.name | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .idea/.name diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index 477e576..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -GitAssignmentObserver \ No newline at end of file From f8ac458ebd7ce19faabb92d7b1a138d586c962c6 Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Mon, 25 Nov 2019 02:07:58 +0200 Subject: [PATCH 21/45] Delete misc.xml --- .idea/misc.xml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .idea/misc.xml diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 84da703..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From c8225b22d8876bfbacf850f2a6745972281dc5fd Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Mon, 25 Nov 2019 02:08:05 +0200 Subject: [PATCH 22/45] Delete modules.xml --- .idea/modules.xml | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 .idea/modules.xml diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 3dd0b66..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file From 413ecbd760c9f49f5936c0b7b264ff8f17ae23b5 Mon Sep 17 00:00:00 2001 From: Youssef Hammad <32943220+Youssef-Hammad@users.noreply.github.com> Date: Mon, 25 Nov 2019 02:08:12 +0200 Subject: [PATCH 23/45] Delete vcs.xml --- .idea/vcs.xml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .idea/vcs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From bc6696e61ab7805d03e915e34c2ebcbbc052c69a Mon Sep 17 00:00:00 2001 From: MohamedAAbdelwahab <57673191+MohamedAAbdelwahab@users.noreply.github.com> Date: Mon, 25 Nov 2019 09:24:43 +0200 Subject: [PATCH 24/45] Update CircleArea.java --- src/CircleArea.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/CircleArea.java b/src/CircleArea.java index 3d10b84..3e767b8 100644 --- a/src/CircleArea.java +++ b/src/CircleArea.java @@ -4,17 +4,19 @@ public class CircleArea extends ThreadSubscriber implements ObserverTest { @Override public void notifySubscriber() { input = topic.getInput(); - System.out.println("Area of the circle is "+3.14159265359*input*input +" in centimetres squared"); + System.out.println("Area of the circle is "+execute()+" in centimetres squared"); } @Override public String execute() { - return null; + String res = String.valueOf(3.14159265359*input*input); + return res; } @Override public Boolean test() { - return null; + input = 1; + return execute().equals(3.14159265359); } } From 5711cb8b153bb18ffbb6539f0ea54774f1152f7e Mon Sep 17 00:00:00 2001 From: MohamedAAbdelwahab <57673191+MohamedAAbdelwahab@users.noreply.github.com> Date: Mon, 25 Nov 2019 09:29:22 +0200 Subject: [PATCH 25/45] Update CircleArea.java --- src/CircleArea.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CircleArea.java b/src/CircleArea.java index 3e767b8..987ffcf 100644 --- a/src/CircleArea.java +++ b/src/CircleArea.java @@ -17,6 +17,6 @@ public String execute() { @Override public Boolean test() { input = 1; - return execute().equals(3.14159265359); + return execute().equals("3.14159265359"); } } From 06ebfb22b3d30667d4cee9cd24c69ebf447d613f Mon Sep 17 00:00:00 2001 From: eddsanity Date: Mon, 25 Nov 2019 10:37:59 +0200 Subject: [PATCH 26/45] modified Circumference function for Travis testing --- src/CircleCircumference.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/CircleCircumference.java b/src/CircleCircumference.java index 9c1248b..facf2e5 100644 --- a/src/CircleCircumference.java +++ b/src/CircleCircumference.java @@ -5,16 +5,17 @@ public class CircleCircumference extends ThreadSubscriber implements ObserverTes public void notifySubscriber() { input = topic.getInput(); - System.out.println("Circle Circumference: " + (2 * input * 3.14)); + System.out.println("Circle Circumference: " + execute()); } @Override public String execute() { - return null; + return String.valueOf(2 * input * 3.14); } @Override public Boolean test() { - return true; + input = 0.5; + return execute().equals("3.14"); } } From 5fa8d01b3452e87e94c7b88fe52c68408025212a Mon Sep 17 00:00:00 2001 From: Ali El-Masry Date: Mon, 25 Nov 2019 13:34:21 +0200 Subject: [PATCH 27/45] Added LucasSeries --- src/LucasSeries.java | 30 ++++++++++++++++++++++++++++++ src/Main.java | 3 ++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 src/LucasSeries.java diff --git a/src/LucasSeries.java b/src/LucasSeries.java new file mode 100644 index 0000000..d428a53 --- /dev/null +++ b/src/LucasSeries.java @@ -0,0 +1,30 @@ +public class LucasSeries extends ThreadSubscriber implements ObserverTest { + double input; + + @Override + public void notifySubscriber() { + input = topic.getInput(); + System.out.println("Lucas Series of " + (int) input + " = " + execute()); + } + + @Override + public String execute() { + if ((int) input == 0) + return "2"; + + int fn_2 = 2, fn_1 = 1; + for (int i = 2; i <= (int) input; ++i) { + int temp = fn_1; + fn_1 = fn_1 + fn_2; + fn_2 = temp; + } + + return String.ValueOf(fn_1); + } + + @Override + public Boolean test() { + input = 5; + return execute().equals("7"); + } +} \ No newline at end of file diff --git a/src/Main.java b/src/Main.java index 70fdc3d..15ed06f 100644 --- a/src/Main.java +++ b/src/Main.java @@ -6,7 +6,8 @@ public class Main { new CircleArea(), new CircleCircumference(), new SummationSeries(), - new MultiplicationSeries() + new MultiplicationSeries(), + new LucasSeries() }; public static void main(String[] args) { Topic mathTopic = new Topic(); From 3097e38aec2c97beb2cf40741dd36fb947205b12 Mon Sep 17 00:00:00 2001 From: Ali El-Masry Date: Mon, 25 Nov 2019 13:41:26 +0200 Subject: [PATCH 28/45] Updated LucasSeries --- src/LucasSeries.java | 2 +- src/MainTest.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/LucasSeries.java b/src/LucasSeries.java index d428a53..b108773 100644 --- a/src/LucasSeries.java +++ b/src/LucasSeries.java @@ -25,6 +25,6 @@ public String execute() { @Override public Boolean test() { input = 5; - return execute().equals("7"); + return execute().equals("11"); } } \ No newline at end of file diff --git a/src/MainTest.java b/src/MainTest.java index 3d91171..03e1ebd 100644 --- a/src/MainTest.java +++ b/src/MainTest.java @@ -4,7 +4,8 @@ public class MainTest { new CircleArea(), new CircleCircumference(), new SummationSeries(), - new MultiplicationSeries() + new MultiplicationSeries(), + new LucasSeries() }; public static void main(String[] args) { for (ObserverTest sub : subscribers){ From f9b1cc641ce4ec3d0003034eab7b61cc4444e84e Mon Sep 17 00:00:00 2001 From: Ali El-Masry Date: Mon, 25 Nov 2019 13:48:43 +0200 Subject: [PATCH 29/45] fixed typo --- src/CircleArea.class | Bin 0 -> 1121 bytes src/CircleCircumference.class | Bin 0 -> 1108 bytes src/ISubscriber.class | Bin 0 -> 177 bytes src/LucasSeries.class | Bin 0 -> 1233 bytes src/LucasSeries.java | 2 +- src/Main.class | Bin 0 -> 1087 bytes src/MainTest.class | Bin 0 -> 849 bytes src/MultiplicationSeries.class | Bin 0 -> 1278 bytes src/ObserverTest.class | Bin 0 -> 144 bytes src/SphereArea.class | Bin 0 -> 1112 bytes src/SummationSeries.class | Bin 0 -> 1065 bytes src/ThreadSubscriber.class | Bin 0 -> 534 bytes src/Topic.class | Bin 0 -> 1108 bytes 13 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 src/CircleArea.class create mode 100644 src/CircleCircumference.class create mode 100644 src/ISubscriber.class create mode 100644 src/LucasSeries.class create mode 100644 src/Main.class create mode 100644 src/MainTest.class create mode 100644 src/MultiplicationSeries.class create mode 100644 src/ObserverTest.class create mode 100644 src/SphereArea.class create mode 100644 src/SummationSeries.class create mode 100644 src/ThreadSubscriber.class create mode 100644 src/Topic.class diff --git a/src/CircleArea.class b/src/CircleArea.class new file mode 100644 index 0000000000000000000000000000000000000000..2ec68e73405c3c974d3bf96a5623164cc0c74402 GIT binary patch literal 1121 zcmZuw>r&HD5dIFdO&h|krQ!_B@4siTF_ z86Ut$@fDnL+>@dd@JIJ-cF%tMoo}~4et-QAUl~? zLTR{ys~Q&YNWo(bPq3(A5SJA!X;{Vz!{GUb%f3~sN?wB!M0a*{vBz~YfYmKe*EJOI zRKpDn(;eNib(7n|s&nCTPxs#WhRdrORxzyLnTF?BQ}9B=OB5Npr?ZnYlli%++5B{V zPQyAj6qICgliqPkopdViQTJ-QPFktrarc0v4CDw4r(u~SU$HD5Igh|$i0*Q+)*1~> zgND=B_Qpd`@H&mjk&{cdhXL5WA3h-I2k>4Yy_*fF1%5y$#GU`if&8DBR+t23NY#j~r&HD5dIFdNgECVrChuL;)S#d1;HC2ARvNP3YKw3{-x;w18GvzgpmjEebmv? z(HS4Wr|`e;;J7EPQZAjzp6zb-+wXk4`T6JD4**lhYv{*F9DUF=q>z^0?KtjWRK=JE z1tT$JIbX{8*4yCoc8+fKzu_S)~ zlI5AUkTxjo2v0bs7?YSBS8$bM4)ZD&IG$jU;}R~bSmId5Q-;3NofiYkE=q#EbR?P%yQ#CCFmH`U;~&NQzM|3#Z61s-Knr>_i&6P+`n>>qDY@g-uUF6Wg+EWIJ+r=RnhUJ@4X0>iGHLd_NSgz3+uwi&vPC1~skO;O)&2K%=^G`~LjZWu1o z1Gy4pBjnS%kR70Z@|3w~`Uvb3IShkjl`tq%L;qi0MQa$<)9Ej0siO5OBA*fc4&}`e z)I_X`c)ALWjw;%!;Kyhes1i`oMxWaV;)FtrMOG5fLqb4j677T=*-xTlzlN@lr?|A! q``2-!Q8nJ+l1wL&ARe-DB3VUG4ZX*e8d?Y?L7ls)?k4#yxb+udC-HRv literal 0 HcmV?d00001 diff --git a/src/ISubscriber.class b/src/ISubscriber.class new file mode 100644 index 0000000000000000000000000000000000000000..a8647ac3107d0414853da2512eb5c4120b0160b5 GIT binary patch literal 177 zcmX^0Z`VEs1_l!bZgvJvb_Om+27$c%lFYQq;L@bxYeojH;QZ2}V6Y^$O&EFi*&pDm z55A(Kh0z&*fIr2b-~+lRMJ<;xne5rKd(Q5D-)_F|fB6Pr6i-xip}z^8h^dGpA+*a) zxPk#0gDU*!SCACzkPyQPMpQa+RcuC8jA2~CH5J!!!#@?Kfb=N1DGU=TQb@~~lyOVO z6oX`#WyfYJJ%+BM6-+xu zsVE8!y0N15U{Px=s$m}Yg?K=?qiNbl(W@bYUKtA-7O_O+jL2Bl@DPs}Jj25pvdGC; z5fOwv?~($`{(o-8w(6~9 zXm@KmoSDFsMI9wmwDg3`L{lRccPi-8mR@rB(wew*LVAIRzjX9c^+?pE{01-B6Y*7s zwtoyAObxHjPQyg9hju-*3ZInN1^Yk>!&#Dk*C<@) z{vKU%uL5I<#3y)a@P3BxBc!kJKi!2KQfg=-hwn`dYA7H!HE6Wd&|E{yztAo4x(Nc1 z>AzPf1&tp`QO!2_BwCYhpttacT6d(BFD*^>xR!TlkBs{w-Oth;zSL_kd;jZ4WDmg| zy5e!`?n4vl8ij2}0Il=}33M9;4^fhKT%>)1NICDG@&@)HF~)wn1YIC+y^J9$Ly!_q hgwaMQ1(HyE4dFd>h+K7!RLTjWQg#`-M7jrkzX8^o1?m6* literal 0 HcmV?d00001 diff --git a/src/LucasSeries.java b/src/LucasSeries.java index b108773..bdf91c9 100644 --- a/src/LucasSeries.java +++ b/src/LucasSeries.java @@ -19,7 +19,7 @@ public String execute() { fn_2 = temp; } - return String.ValueOf(fn_1); + return String.valueOf(fn_1); } @Override diff --git a/src/Main.class b/src/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..029dbde9dff154c1617a7e9236fe1503e9140124 GIT binary patch literal 1087 zcmZuw-BQy)6#lkNnl^;r(gI=?|4UmbBBD}65Q>5=UW9R`!+4RVD+JrLlO~Mb`y_hd zwK!8|%*X@y9=?ND;@N6>BLPa<7 z3MON?gDDjX?uuht*zSpAM!|gr4^;FB?}sY-gq&3|AY?(sppbJal0rUGF)ZY~g2xP9 zZLiuk9jnTnHbZ=~w6X1Qqo$u|3k;Dt%eLHkhH!fPC4;ootZ|0kl4bLCuR)$0Mzu~F zsbN?)Lo&Tt+A(&GeBH3O^1AC-_EteScI&QTz9}26;JtzcYE?msAv$N)k5j06({oI| zVu^sUG6kFvu{2!5Wd?bp*|JOx7m?Dih$kABu*}dOr1M;>p4Uyowz;FAs9^<9h2Jv` zt60595vK2alMJff+U5>lq~__eWI1O2_!2+5h|_DlrZ=`Jy4Sr%!*H#pt#ilX z#NA-otGiaKZkd0nyGovEwEsMkL`PJ>DL*f&JKS^w>Q9x&q!DFC?aV9~66t>jB&dzH zxf^gp#nThPQb75cMEbk7%Nq@^Pa?S}<$;zgN*id<+sw=oQ6BlF*P|iTW5OG@^fjbe-BM{U`poJSRXn5I3Pr=2U)|2}B@$eK9E z*u-xb$l(0HW}i~5z6bs3??^jZ2d1-&40rSnvcxRz7#-w@+1yEYkSEs19kYW1v3~Ak WIw%r5#XlkS|F9_<^8$&dF!mQN*RL@E literal 0 HcmV?d00001 diff --git a/src/MultiplicationSeries.class b/src/MultiplicationSeries.class new file mode 100644 index 0000000000000000000000000000000000000000..a35a28f2f82e02e5f061321b46d0f862a5810c36 GIT binary patch literal 1278 zcmaJ=SyK~15dJ3FWW%!I2qawL@*;`c;Kd~Zq9_nFQA>QJ`TqOMHvpq}qM!*qRfr&_AdZC4E?1!! zeKPtL_|X%jB&l>zIOZO!%i8DKz~8n3ORk&8R)!bSTE-wtooU(n+D^*J6te}L z>r%0RdqUi2@Ql&63*9Of(Jf<1#WIpIR#ZH|Lt<)3 zMG9#dkA#7E@(v9TQr%}INnE8j3S7%oa-}9SMPAq@I$a8Uww2ejMB!puC{(=9RTu*6 z++H|n4|RkZR98{WPSNID1a67$g%2p#t$`Kd+a}hzwndTrT0YOs97A91bW=|EsZ0)C zjK=2v=MLD`L1!5n+?OO42LJz#HEGP@S-06!qJT4 ziKxlUCePaA@l}TUBZkVu#1M(CRtEbwWay?R(*%ZQ`a_HjNr`kCDU$89Yo}HCe2G1< z52P@3ko3Do;p#j*ns%?!+f5`s!Bc|wGo+93eTDz&9^_DTPc#t3d0Z$1Z4r#9dL&UxMTks8btTll zMZmj{&~Bm;4gc)n3cDnnhu|Gl0T70dNUkTEBLv+}B*%&7exg_;Ai)z64Y=suy7U)~ CGZ8re literal 0 HcmV?d00001 diff --git a/src/ObserverTest.class b/src/ObserverTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5b32edaa998d72d5f84d5597b369a3bbffa3d4c8 GIT binary patch literal 144 zcmX^0Z`VEs1_l!bPId-%b_Nbc29}c4;u1y%Q4LL>ti-ZJ{hY+SbbY7%{G8OpJZnY< zuHgLAqU2P!%$!t420{O%;?$zD)S?ie9zBq9Mg|^aF-8UfgdzS(S*gh-Y>W(y3`{^f W85kH@7#WxuSU@ZWRv^j5zy<(7og$h5 literal 0 HcmV?d00001 diff --git a/src/SphereArea.class b/src/SphereArea.class new file mode 100644 index 0000000000000000000000000000000000000000..d036f8bafa848a6a5540e86c609ca6b14a28f6f0 GIT binary patch literal 1112 zcmZuw+foxj5IsXKyDS5QB!G%QRFotL5d^$&k(&q_2v#Vo0F%`PP$;7|A! zXlbCd$`9~Y{0EDkO^^USq^Hw8efrGl-rs+J`~onJ4GnP&G$V%l8XjO!ddX&_kXA6H zA&dbP59K+mQD#JX84Zsx8lFq_oxc6^sb9kw9;+Ca=Y)nyJW=pe!7~NV8A66>doBZ8 zVhB$grs2*q1d^$D48cXKBpBMWhAGy)gMx52^+K5<5z}&w?W4R`s1zN8;tY!TD2kp- z$#^oA-O~^COj$Q~GI`fA%$+F$b47*PbY99XSXNo+CZ${Ru3p?<)9rc-EpK^FQ7jv> zUwhu(6^@v9ggzpnId0%4#}uX&%y7)&1xFXU70hwWV}YUjDuD&hD3>J9wi;AIC#=Lw zf@2X&9KGn{c!@p*%N(z;qF|NdHQtasqhlizlN?#BDOi`m9D{bjhs4<2C9G1T7(7>~ z2T{twyl(wZR?Q_&5lQevm6b zHb_3L2iaTnua{1l3#CuMzL3MvLpJOOW$O07t1Afj(PTRP4NX-9z9aY*p`Qr9KY+$M?&Jj znG0vGfFMO6@dNlX+>uz`xCPP{aqwIG*6)4u<;Ta*08V4hKn7M4X^a{;fH7qqOyUp@ zYdB&c0ZT_w>2W1WI*uxR%)kUD4U}_5NTS2GJy_#Kb)1QpvO3_-a26eyT3Hr~Fs!F@@@TT3}NYVIX-UuWmXN%(t z59}4Y+_s&ia#ec5S-M2cCHHA;Zc}vHb=%x_C~Q>Sz-#b1q2^_)L8oI&;W}0B3GPp- zekQWWnRJaa8qS(Hhw~-|F{I&wiHo2XyS7f94n(`Dmd(|cx#b5P%WYYb%$D$cX_=^C zN(nkZ#&SZyzQrE}cH5`m734KsHE|8o8fHw);yT@C%VtzrTlTo!?7xk~t!GsiF#?zDL_f$6F}+KyuMACu`d?fi>ngJ!B) zvD*P(Y%vTM@Ac3B{SYupPdfvurVol=k}QC?Io>Z@zNUD8#0J_l8NxA3hn-r z`ix4W6uVI>y+fpj=zGMXmDp6_DfzJ%FOkX@?pK~f*sGsk-y;4AiMwmi2K642D&ct# z#^3-sc`|x1dq}Byk#OEVXyMcW(kbZJgCwn{V+;o7F+e`ZihM_!v2O%}VFY=S3c?6! g1tG#-lkDF=ONr6&Nh4L!BAIf;(4=2pz#xj}p2so|wvOPClrrp*et2yN`O4QAB zKOIhkSP{dS@<|41LRN)%m6O!vb-oFlM_tr@NI U&t@OUthd*=S)GHbY%);$0}BFK5C8xG literal 0 HcmV?d00001 diff --git a/src/Topic.class b/src/Topic.class new file mode 100644 index 0000000000000000000000000000000000000000..00ba0bb8cd37bad4b3666e3b6880dddc7a0a7f0c GIT binary patch literal 1108 zcmZ`&T~8B16g{)FUAnt1SUyw~735=EkfP#e5hS7sNx_E_jl50U4J_ie+1(QTDgFW< z)kGj@Vtn?W_!o>(&upQ^60^z8+&gp5J@?G)_urqt0+_>+fixy{*akFACXqtcL=IDG zHEl3lQ|XL}JZ4q6uH%LQ6E}6t>9{3e290u1@!hiH2LiptZMiG+jnLi67u_H%2qa7H zrYFOO?+A=_Y|j_hw|qxdOD&GV0wHnNt2aUcu`H07cRe>;5a_bA&jezRYE=^T6kX3* zYrJCDby?nFB_*pTXaolA)7*+6z3GJQc9fj4vmL6aVB%EqKT^9%x6)Kgfz;a_v>S z)Ft1SZ)oFpicX7c$Bb0 URaQ)BzhLMX`$?Y!#v{PQUs`F|r~m)} literal 0 HcmV?d00001 From ac7049e2b404b46f7ee39cd0f52a13419be0244c Mon Sep 17 00:00:00 2001 From: BouSenna Date: Mon, 25 Nov 2019 17:21:22 +0200 Subject: [PATCH 30/45] Updated summation series class --- src/SummationSeries.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/SummationSeries.java b/src/SummationSeries.java index 74cb229..6360abc 100644 --- a/src/SummationSeries.java +++ b/src/SummationSeries.java @@ -4,19 +4,20 @@ public class SummationSeries extends ThreadSubscriber implements ObserverTest { @Override public void notifySubscriber() { input = topic.getInput(); - int sum = 0; - for (int i = 1 ; i <= input ; i++) - sum += i; - System.out.println("The sum of the first "+ (int) input +" numbers equals "+ sum); + System.out.println("The sum of the first "+ (int) input +" numbers equals "+ execute()); } @Override public String execute() { - return null; + int sum = 0; + for (int i = 1 ; i <= input ; i++) + sum += i; + return String.valueOf(sum); } @Override public Boolean test() { - return true; + input = 3; + return (execute().equals("6")); } } \ No newline at end of file From 9299d2e1195d03726a0f40b6d27962ad7b085fdd Mon Sep 17 00:00:00 2001 From: nura229 <45184445+nura229@users.noreply.github.com> Date: Mon, 25 Nov 2019 17:32:07 +0200 Subject: [PATCH 31/45] Add files via upload --- .classpath | 12 +++--- .gitignore | 110 ++++++++++++++++++++++++++-------------------------- .project | 34 ++++++++-------- .travis.yml | 16 ++++---- 4 files changed, 86 insertions(+), 86 deletions(-) diff --git a/.classpath b/.classpath index fceb480..63b7e89 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/.gitignore b/.gitignore index 539bdba..f7795ae 100644 --- a/.gitignore +++ b/.gitignore @@ -1,56 +1,56 @@ -.metadata -bin/ -tmp/ -*.tmp -*.bak -*.swp -*~.nib -local.properties -.settings/ -.loadpath -.recommenders - -# External tool builders -.externalToolBuilders/ - -# Locally stored "Eclipse launch configurations" -*.launch - -# PyDev specific (Python IDE for Eclipse) -*.pydevproject - -# CDT-specific (C/C++ Development Tooling) -.cproject - -# CDT- autotools -.autotools - -# Java annotation processor (APT) -.factorypath - -# PDT-specific (PHP Development Tools) -.buildpath - -# sbteclipse plugin -.target - -# Tern plugin -.tern-project - -# TeXlipse plugin -.texlipse - -# STS (Spring Tool Suite) -.springBeans - -# Code Recommenders -.recommenders/ - -# Annotation Processing -.apt_generated/ -.apt_generated_test/ - -# Scala IDE specific (Scala & Java development for Eclipse) -.cache-main -.scala_dependencies +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# CDT- autotools +.autotools + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Annotation Processing +.apt_generated/ +.apt_generated_test/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies .worksheet \ No newline at end of file diff --git a/.project b/.project index a91a890..5e04e8b 100644 --- a/.project +++ b/.project @@ -1,17 +1,17 @@ - - - GitAssignmentObserver - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - + + + GitAssignmentObserver + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/.travis.yml b/.travis.yml index 4b527d4..8399825 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,8 @@ -language: bash -install: true -jdk: orcalejdk13 -before_script: cd src -script: -- javac MainTest.java -- java MainTest - +language: bash +install: true +jdk: orcalejdk13 +before_script: cd src +script: +- javac MainTest.java +- java MainTest + From 102096e49c9d362ddf55b8ec76fd7d0ce642cba7 Mon Sep 17 00:00:00 2001 From: Ali El-Masry Date: Mon, 25 Nov 2019 17:33:52 +0200 Subject: [PATCH 32/45] updated .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 539bdba..45dd80c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ tmp/ *.bak *.swp *~.nib +*.class local.properties .settings/ .loadpath @@ -53,4 +54,4 @@ local.properties # Scala IDE specific (Scala & Java development for Eclipse) .cache-main .scala_dependencies -.worksheet \ No newline at end of file +.worksheet From 74dfc83d7818cd592b3cd810941673db23acf142 Mon Sep 17 00:00:00 2001 From: nura229 <45184445+nura229@users.noreply.github.com> Date: Mon, 25 Nov 2019 17:36:28 +0200 Subject: [PATCH 33/45] Add files via upload --- src/CircleVolum.java | 27 +++++++++++++++++++++++++ src/Main.java | 47 ++++++++++++++++++++++---------------------- src/MainTest.java | 37 +++++++++++++++++----------------- 3 files changed, 70 insertions(+), 41 deletions(-) create mode 100644 src/CircleVolum.java diff --git a/src/CircleVolum.java b/src/CircleVolum.java new file mode 100644 index 0000000..43afcd1 --- /dev/null +++ b/src/CircleVolum.java @@ -0,0 +1,27 @@ +public class CircleVolum extends ThreadSubscriber implements ObserverTest +{ + double input; + + public void notifySubscriber() { + input=topic.getInput(); + System.out.println("Volume = " + execute()); + } +@Override + public String execute() + { + double volume= (4*22*input*input*input)/(3*7); + + String result=String.valueOf(volume); + + return result; + } +@Override +public Boolean test() { + input = 5; + if (execute().equals("523.8095238095239")) + return true; + else + return false; + +} +} \ No newline at end of file diff --git a/src/Main.java b/src/Main.java index 15ed06f..7963c60 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,23 +1,24 @@ -import java.util.Scanner; - -public class Main { - private static ThreadSubscriber subscribers [] = { - new SphereArea() , - new CircleArea(), - new CircleCircumference(), - new SummationSeries(), - new MultiplicationSeries(), - new LucasSeries() - }; - public static void main(String[] args) { - Topic mathTopic = new Topic(); - for (ThreadSubscriber sub : subscribers){ - mathTopic.addSubscriber(sub); - sub.setTopic(mathTopic); - } - Scanner sc = new Scanner(System.in); - double input = sc.nextDouble(); - mathTopic.setInput(input); - mathTopic.dispatchEvent(); - } -} +import java.util.Scanner; + +public class Main { + private static ThreadSubscriber subscribers [] = { + new SphereArea() , + new CircleArea(), + new CircleCircumference(), + new SummationSeries(), + new MultiplicationSeries(), + new CircleVolum() + }; + + public static void main(String[] args) { + Topic mathTopic = new Topic(); + for (ThreadSubscriber sub : subscribers){ + mathTopic.addSubscriber(sub); + sub.setTopic(mathTopic); + } + Scanner sc = new Scanner(System.in); + double input = sc.nextDouble(); + mathTopic.setInput(input); + mathTopic.dispatchEvent(); + } +} diff --git a/src/MainTest.java b/src/MainTest.java index 03e1ebd..5d94908 100644 --- a/src/MainTest.java +++ b/src/MainTest.java @@ -1,18 +1,19 @@ -public class MainTest { - private static ObserverTest subscribers [] = { - new SphereArea() , - new CircleArea(), - new CircleCircumference(), - new SummationSeries(), - new MultiplicationSeries(), - new LucasSeries() - }; - public static void main(String[] args) { - for (ObserverTest sub : subscribers){ - Boolean res = sub.test(); - if(res!=null && res==false){ - System.exit(1); - } - } - } -} +public class MainTest { + private static ObserverTest subscribers [] = { + new SphereArea() , + new CircleArea(), + new CircleCircumference(), + new SummationSeries(), + new MultiplicationSeries(), + new CircleVolum() + }; + public static void main(String[] args) { + for (ObserverTest sub : subscribers){ + Boolean res = sub.test(); + if(res!=null && res==false){ + System.exit(1); + } + } + } +} + From 1ff4fcda388b51e98390cb475da074c5d84a8f8b Mon Sep 17 00:00:00 2001 From: Ali El-Masry Date: Mon, 25 Nov 2019 17:36:35 +0200 Subject: [PATCH 34/45] removed .class files --- src/CircleArea.class | Bin 1121 -> 0 bytes src/CircleCircumference.class | Bin 1108 -> 0 bytes src/ISubscriber.class | Bin 177 -> 0 bytes src/LucasSeries.class | Bin 1233 -> 0 bytes src/Main.class | Bin 1087 -> 0 bytes src/MainTest.class | Bin 849 -> 0 bytes src/MultiplicationSeries.class | Bin 1278 -> 0 bytes src/ObserverTest.class | Bin 144 -> 0 bytes src/SphereArea.class | Bin 1112 -> 0 bytes src/SummationSeries.class | Bin 1065 -> 0 bytes src/ThreadSubscriber.class | Bin 534 -> 0 bytes src/Topic.class | Bin 1108 -> 0 bytes 12 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/CircleArea.class delete mode 100644 src/CircleCircumference.class delete mode 100644 src/ISubscriber.class delete mode 100644 src/LucasSeries.class delete mode 100644 src/Main.class delete mode 100644 src/MainTest.class delete mode 100644 src/MultiplicationSeries.class delete mode 100644 src/ObserverTest.class delete mode 100644 src/SphereArea.class delete mode 100644 src/SummationSeries.class delete mode 100644 src/ThreadSubscriber.class delete mode 100644 src/Topic.class diff --git a/src/CircleArea.class b/src/CircleArea.class deleted file mode 100644 index 2ec68e73405c3c974d3bf96a5623164cc0c74402..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1121 zcmZuw>r&HD5dIFdO&h|krQ!_B@4siTF_ z86Ut$@fDnL+>@dd@JIJ-cF%tMoo}~4et-QAUl~? zLTR{ys~Q&YNWo(bPq3(A5SJA!X;{Vz!{GUb%f3~sN?wB!M0a*{vBz~YfYmKe*EJOI zRKpDn(;eNib(7n|s&nCTPxs#WhRdrORxzyLnTF?BQ}9B=OB5Npr?ZnYlli%++5B{V zPQyAj6qICgliqPkopdViQTJ-QPFktrarc0v4CDw4r(u~SU$HD5Igh|$i0*Q+)*1~> zgND=B_Qpd`@H&mjk&{cdhXL5WA3h-I2k>4Yy_*fF1%5y$#GU`if&8DBR+t23NY#j~r&HD5dIFdNgECVrChuL;)S#d1;HC2ARvNP3YKw3{-x;w18GvzgpmjEebmv? z(HS4Wr|`e;;J7EPQZAjzp6zb-+wXk4`T6JD4**lhYv{*F9DUF=q>z^0?KtjWRK=JE z1tT$JIbX{8*4yCoc8+fKzu_S)~ zlI5AUkTxjo2v0bs7?YSBS8$bM4)ZD&IG$jU;}R~bSmId5Q-;3NofiYkE=q#EbR?P%yQ#CCFmH`U;~&NQzM|3#Z61s-Knr>_i&6P+`n>>qDY@g-uUF6Wg+EWIJ+r=RnhUJ@4X0>iGHLd_NSgz3+uwi&vPC1~skO;O)&2K%=^G`~LjZWu1o z1Gy4pBjnS%kR70Z@|3w~`Uvb3IShkjl`tq%L;qi0MQa$<)9Ej0siO5OBA*fc4&}`e z)I_X`c)ALWjw;%!;Kyhes1i`oMxWaV;)FtrMOG5fLqb4j677T=*-xTlzlN@lr?|A! q``2-!Q8nJ+l1wL&ARe-DB3VUG4ZX*e8d?Y?L7ls)?k4#yxb+udC-HRv diff --git a/src/ISubscriber.class b/src/ISubscriber.class deleted file mode 100644 index a8647ac3107d0414853da2512eb5c4120b0160b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177 zcmX^0Z`VEs1_l!bZgvJvb_Om+27$c%lFYQq;L@bxYeojH;QZ2}V6Y^$O&EFi*&pDm z55A(Kh0z&*fIr2b-~+lRMJ<;xne5rKd(Q5D-)_F|fB6Pr6i-xip}z^8h^dGpA+*a) zxPk#0gDU*!SCACzkPyQPMpQa+RcuC8jA2~CH5J!!!#@?Kfb=N1DGU=TQb@~~lyOVO z6oX`#WyfYJJ%+BM6-+xu zsVE8!y0N15U{Px=s$m}Yg?K=?qiNbl(W@bYUKtA-7O_O+jL2Bl@DPs}Jj25pvdGC; z5fOwv?~($`{(o-8w(6~9 zXm@KmoSDFsMI9wmwDg3`L{lRccPi-8mR@rB(wew*LVAIRzjX9c^+?pE{01-B6Y*7s zwtoyAObxHjPQyg9hju-*3ZInN1^Yk>!&#Dk*C<@) z{vKU%uL5I<#3y)a@P3BxBc!kJKi!2KQfg=-hwn`dYA7H!HE6Wd&|E{yztAo4x(Nc1 z>AzPf1&tp`QO!2_BwCYhpttacT6d(BFD*^>xR!TlkBs{w-Oth;zSL_kd;jZ4WDmg| zy5e!`?n4vl8ij2}0Il=}33M9;4^fhKT%>)1NICDG@&@)HF~)wn1YIC+y^J9$Ly!_q hgwaMQ1(HyE4dFd>h+K7!RLTjWQg#`-M7jrkzX8^o1?m6* diff --git a/src/Main.class b/src/Main.class deleted file mode 100644 index 029dbde9dff154c1617a7e9236fe1503e9140124..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1087 zcmZuw-BQy)6#lkNnl^;r(gI=?|4UmbBBD}65Q>5=UW9R`!+4RVD+JrLlO~Mb`y_hd zwK!8|%*X@y9=?ND;@N6>BLPa<7 z3MON?gDDjX?uuht*zSpAM!|gr4^;FB?}sY-gq&3|AY?(sppbJal0rUGF)ZY~g2xP9 zZLiuk9jnTnHbZ=~w6X1Qqo$u|3k;Dt%eLHkhH!fPC4;ootZ|0kl4bLCuR)$0Mzu~F zsbN?)Lo&Tt+A(&GeBH3O^1AC-_EteScI&QTz9}26;JtzcYE?msAv$N)k5j06({oI| zVu^sUG6kFvu{2!5Wd?bp*|JOx7m?Dih$kABu*}dOr1M;>p4Uyowz;FAs9^<9h2Jv` zt60595vK2alMJff+U5>lq~__eWI1O2_!2+5h|_DlrZ=`Jy4Sr%!*H#pt#ilX z#NA-otGiaKZkd0nyGovEwEsMkL`PJ>DL*f&JKS^w>Q9x&q!DFC?aV9~66t>jB&dzH zxf^gp#nThPQb75cMEbk7%Nq@^Pa?S}<$;zgN*id<+sw=oQ6BlF*P|iTW5OG@^fjbe-BM{U`poJSRXn5I3Pr=2U)|2}B@$eK9E z*u-xb$l(0HW}i~5z6bs3??^jZ2d1-&40rSnvcxRz7#-w@+1yEYkSEs19kYW1v3~Ak WIw%r5#XlkS|F9_<^8$&dF!mQN*RL@E diff --git a/src/MultiplicationSeries.class b/src/MultiplicationSeries.class deleted file mode 100644 index a35a28f2f82e02e5f061321b46d0f862a5810c36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1278 zcmaJ=SyK~15dJ3FWW%!I2qawL@*;`c;Kd~Zq9_nFQA>QJ`TqOMHvpq}qM!*qRfr&_AdZC4E?1!! zeKPtL_|X%jB&l>zIOZO!%i8DKz~8n3ORk&8R)!bSTE-wtooU(n+D^*J6te}L z>r%0RdqUi2@Ql&63*9Of(Jf<1#WIpIR#ZH|Lt<)3 zMG9#dkA#7E@(v9TQr%}INnE8j3S7%oa-}9SMPAq@I$a8Uww2ejMB!puC{(=9RTu*6 z++H|n4|RkZR98{WPSNID1a67$g%2p#t$`Kd+a}hzwndTrT0YOs97A91bW=|EsZ0)C zjK=2v=MLD`L1!5n+?OO42LJz#HEGP@S-06!qJT4 ziKxlUCePaA@l}TUBZkVu#1M(CRtEbwWay?R(*%ZQ`a_HjNr`kCDU$89Yo}HCe2G1< z52P@3ko3Do;p#j*ns%?!+f5`s!Bc|wGo+93eTDz&9^_DTPc#t3d0Z$1Z4r#9dL&UxMTks8btTll zMZmj{&~Bm;4gc)n3cDnnhu|Gl0T70dNUkTEBLv+}B*%&7exg_;Ai)z64Y=suy7U)~ CGZ8re diff --git a/src/ObserverTest.class b/src/ObserverTest.class deleted file mode 100644 index 5b32edaa998d72d5f84d5597b369a3bbffa3d4c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmX^0Z`VEs1_l!bPId-%b_Nbc29}c4;u1y%Q4LL>ti-ZJ{hY+SbbY7%{G8OpJZnY< zuHgLAqU2P!%$!t420{O%;?$zD)S?ie9zBq9Mg|^aF-8UfgdzS(S*gh-Y>W(y3`{^f W85kH@7#WxuSU@ZWRv^j5zy<(7og$h5 diff --git a/src/SphereArea.class b/src/SphereArea.class deleted file mode 100644 index d036f8bafa848a6a5540e86c609ca6b14a28f6f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1112 zcmZuw+foxj5IsXKyDS5QB!G%QRFotL5d^$&k(&q_2v#Vo0F%`PP$;7|A! zXlbCd$`9~Y{0EDkO^^USq^Hw8efrGl-rs+J`~onJ4GnP&G$V%l8XjO!ddX&_kXA6H zA&dbP59K+mQD#JX84Zsx8lFq_oxc6^sb9kw9;+Ca=Y)nyJW=pe!7~NV8A66>doBZ8 zVhB$grs2*q1d^$D48cXKBpBMWhAGy)gMx52^+K5<5z}&w?W4R`s1zN8;tY!TD2kp- z$#^oA-O~^COj$Q~GI`fA%$+F$b47*PbY99XSXNo+CZ${Ru3p?<)9rc-EpK^FQ7jv> zUwhu(6^@v9ggzpnId0%4#}uX&%y7)&1xFXU70hwWV}YUjDuD&hD3>J9wi;AIC#=Lw zf@2X&9KGn{c!@p*%N(z;qF|NdHQtasqhlizlN?#BDOi`m9D{bjhs4<2C9G1T7(7>~ z2T{twyl(wZR?Q_&5lQevm6b zHb_3L2iaTnua{1l3#CuMzL3MvLpJOOW$O07t1Afj(PTRP4NX-9z9aY*p`Qr9KY+$M?&Jj znG0vGfFMO6@dNlX+>uz`xCPP{aqwIG*6)4u<;Ta*08V4hKn7M4X^a{;fH7qqOyUp@ zYdB&c0ZT_w>2W1WI*uxR%)kUD4U}_5NTS2GJy_#Kb)1QpvO3_-a26eyT3Hr~Fs!F@@@TT3}NYVIX-UuWmXN%(t z59}4Y+_s&ia#ec5S-M2cCHHA;Zc}vHb=%x_C~Q>Sz-#b1q2^_)L8oI&;W}0B3GPp- zekQWWnRJaa8qS(Hhw~-|F{I&wiHo2XyS7f94n(`Dmd(|cx#b5P%WYYb%$D$cX_=^C zN(nkZ#&SZyzQrE}cH5`m734KsHE|8o8fHw);yT@C%VtzrTlTo!?7xk~t!GsiF#?zDL_f$6F}+KyuMACu`d?fi>ngJ!B) zvD*P(Y%vTM@Ac3B{SYupPdfvurVol=k}QC?Io>Z@zNUD8#0J_l8NxA3hn-r z`ix4W6uVI>y+fpj=zGMXmDp6_DfzJ%FOkX@?pK~f*sGsk-y;4AiMwmi2K642D&ct# z#^3-sc`|x1dq}Byk#OEVXyMcW(kbZJgCwn{V+;o7F+e`ZihM_!v2O%}VFY=S3c?6! g1tG#-lkDF=ONr6&Nh4L!BAIf;(4=2pz#xj}p2so|wvOPClrrp*et2yN`O4QAB zKOIhkSP{dS@<|41LRN)%m6O!vb-oFlM_tr@NI U&t@OUthd*=S)GHbY%);$0}BFK5C8xG diff --git a/src/Topic.class b/src/Topic.class deleted file mode 100644 index 00ba0bb8cd37bad4b3666e3b6880dddc7a0a7f0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1108 zcmZ`&T~8B16g{)FUAnt1SUyw~735=EkfP#e5hS7sNx_E_jl50U4J_ie+1(QTDgFW< z)kGj@Vtn?W_!o>(&upQ^60^z8+&gp5J@?G)_urqt0+_>+fixy{*akFACXqtcL=IDG zHEl3lQ|XL}JZ4q6uH%LQ6E}6t>9{3e290u1@!hiH2LiptZMiG+jnLi67u_H%2qa7H zrYFOO?+A=_Y|j_hw|qxdOD&GV0wHnNt2aUcu`H07cRe>;5a_bA&jezRYE=^T6kX3* zYrJCDby?nFB_*pTXaolA)7*+6z3GJQc9fj4vmL6aVB%EqKT^9%x6)Kgfz;a_v>S z)Ft1SZ)oFpicX7c$Bb0 URaQ)BzhLMX`$?Y!#v{PQUs`F|r~m)} From 678739fe682dbdd74bbc4314fc21e0ff4e985286 Mon Sep 17 00:00:00 2001 From: fady maged Date: Mon, 25 Nov 2019 18:02:44 +0200 Subject: [PATCH 35/45] Updates Main and MainTest classes --- src/Main.java | 3 ++- src/MainTest.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Main.java b/src/Main.java index 7963c60..2000e2c 100644 --- a/src/Main.java +++ b/src/Main.java @@ -7,7 +7,8 @@ public class Main { new CircleCircumference(), new SummationSeries(), new MultiplicationSeries(), - new CircleVolum() + new CircleVolum(), + new LucasSeries(), }; public static void main(String[] args) { diff --git a/src/MainTest.java b/src/MainTest.java index 5d94908..f33d8d7 100644 --- a/src/MainTest.java +++ b/src/MainTest.java @@ -5,7 +5,8 @@ public class MainTest { new CircleCircumference(), new SummationSeries(), new MultiplicationSeries(), - new CircleVolum() + new CircleVolum(), + new LucasSeries(), }; public static void main(String[] args) { for (ObserverTest sub : subscribers){ From 55f50b5ed0ef4c4680000b6b8e2d3840ab4252ca Mon Sep 17 00:00:00 2001 From: Amarwan Date: Mon, 25 Nov 2019 22:39:53 +0200 Subject: [PATCH 36/45] initial commit --- src/Fibonacci.java | 37 +++++++++++++++++++++++++++++++++++++ src/Main.java | 1 + src/MainTest.java | 1 + 3 files changed, 39 insertions(+) create mode 100644 src/Fibonacci.java diff --git a/src/Fibonacci.java b/src/Fibonacci.java new file mode 100644 index 0000000..76112e1 --- /dev/null +++ b/src/Fibonacci.java @@ -0,0 +1,37 @@ +public class Fibonacci extends ThreadSubscriber implements ObserverTest { + double input; + @Override + public void notifySubscriber() { + input = Topic.getInput(); + System.out.println("Result of Fibonacci series at "+input+": "+execute()); + } + @Override + public String execute() { + int num1 = 0; + int num2 = 1; + int sum = 0; + for(int i=0 ; i < input ; i++) { + sum = num1 + num2; + num1 = num2; + num2 = sum; + } + String str = String.valueOf(sum); + + return str; + } + @Override + + public Boolean test() { + input = 4; + if(!execute().equals("3")) { + return false; + } + input = 10; + if(!execute().equals("55")) { + return false; + } + return true; + + } +} + diff --git a/src/Main.java b/src/Main.java index 2000e2c..a860348 100644 --- a/src/Main.java +++ b/src/Main.java @@ -9,6 +9,7 @@ public class Main { new MultiplicationSeries(), new CircleVolum(), new LucasSeries(), + new Fibonacci(), }; public static void main(String[] args) { diff --git a/src/MainTest.java b/src/MainTest.java index f33d8d7..af0d65c 100644 --- a/src/MainTest.java +++ b/src/MainTest.java @@ -7,6 +7,7 @@ public class MainTest { new MultiplicationSeries(), new CircleVolum(), new LucasSeries(), + new Fibonacci(), }; public static void main(String[] args) { for (ObserverTest sub : subscribers){ From cfd62f07997504f2504eef8309848d7f94931c6d Mon Sep 17 00:00:00 2001 From: Kerberos-666 Date: Mon, 25 Nov 2019 22:56:29 +0200 Subject: [PATCH 37/45] Update Fibonacci.java --- src/Fibonacci.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Fibonacci.java b/src/Fibonacci.java index 76112e1..8fefeb0 100644 --- a/src/Fibonacci.java +++ b/src/Fibonacci.java @@ -23,11 +23,11 @@ public String execute() { public Boolean test() { input = 4; - if(!execute().equals("3")) { + if(!execute().equals("2")) { return false; } input = 10; - if(!execute().equals("55")) { + if(!execute().equals("34")) { return false; } return true; From b553783b7134ee75430b35e294115af4259b6aea Mon Sep 17 00:00:00 2001 From: Kerberos-666 Date: Mon, 25 Nov 2019 23:04:07 +0200 Subject: [PATCH 38/45] Update Fibonacci.java --- src/Fibonacci.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Fibonacci.java b/src/Fibonacci.java index 8fefeb0..9b2725e 100644 --- a/src/Fibonacci.java +++ b/src/Fibonacci.java @@ -10,7 +10,9 @@ public String execute() { int num1 = 0; int num2 = 1; int sum = 0; - for(int i=0 ; i < input ; i++) { + if(input<=1) + sum=input; + for(int i=1 ; i < input ; i++) { sum = num1 + num2; num1 = num2; num2 = sum; @@ -23,11 +25,11 @@ public String execute() { public Boolean test() { input = 4; - if(!execute().equals("2")) { + if(!execute().equals("3")) { return false; } input = 10; - if(!execute().equals("34")) { + if(!execute().equals("55")) { return false; } return true; From 6354ce46e3b3a0b2e1f8c00be1928847fc6c3945 Mon Sep 17 00:00:00 2001 From: Kerberos-666 Date: Mon, 25 Nov 2019 23:11:54 +0200 Subject: [PATCH 39/45] Update Fibonacci.java --- src/Fibonacci.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Fibonacci.java b/src/Fibonacci.java index 9b2725e..3b742dc 100644 --- a/src/Fibonacci.java +++ b/src/Fibonacci.java @@ -2,7 +2,7 @@ public class Fibonacci extends ThreadSubscriber implements ObserverTest { double input; @Override public void notifySubscriber() { - input = Topic.getInput(); + input = topic.getInput(); System.out.println("Result of Fibonacci series at "+input+": "+execute()); } @Override @@ -11,7 +11,7 @@ public String execute() { int num2 = 1; int sum = 0; if(input<=1) - sum=input; + sum = (int)input; for(int i=1 ; i < input ; i++) { sum = num1 + num2; num1 = num2; From 098ad8634109e87f262bb4d5cfe79e3b850d1727 Mon Sep 17 00:00:00 2001 From: HabibaMagdyMohamed Date: Tue, 26 Nov 2019 18:01:20 +0200 Subject: [PATCH 40/45] add twoPowerN --- src/Main.java | 1 + src/MainTest.java | 5 +++-- src/git_assignment_initial/twoPowerN.java | 5 +++++ 3 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 src/git_assignment_initial/twoPowerN.java diff --git a/src/Main.java b/src/Main.java index a860348..54019cc 100644 --- a/src/Main.java +++ b/src/Main.java @@ -10,6 +10,7 @@ public class Main { new CircleVolum(), new LucasSeries(), new Fibonacci(), + new twoPowerN() }; public static void main(String[] args) { diff --git a/src/MainTest.java b/src/MainTest.java index af0d65c..6e563f4 100644 --- a/src/MainTest.java +++ b/src/MainTest.java @@ -6,8 +6,9 @@ public class MainTest { new SummationSeries(), new MultiplicationSeries(), new CircleVolum(), - new LucasSeries(), - new Fibonacci(), + new LucasSeries(), + new Fibonacci(), + new twoPowerN() }; public static void main(String[] args) { for (ObserverTest sub : subscribers){ diff --git a/src/git_assignment_initial/twoPowerN.java b/src/git_assignment_initial/twoPowerN.java new file mode 100644 index 0000000..a596022 --- /dev/null +++ b/src/git_assignment_initial/twoPowerN.java @@ -0,0 +1,5 @@ +package git_assignment_initial; + +public class twoPowerN { + +} From 9af6e9133dbf38f0513966ba34df0601d47367e0 Mon Sep 17 00:00:00 2001 From: HabibaMagdyMohamed Date: Tue, 26 Nov 2019 18:23:39 +0200 Subject: [PATCH 41/45] add new power of n --- src/Main.java | 1 + src/MainTest.java | 2 ++ src/twoPowerN.java | 27 +++++++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 src/twoPowerN.java diff --git a/src/Main.java b/src/Main.java index 54019cc..9cad6c3 100644 --- a/src/Main.java +++ b/src/Main.java @@ -13,6 +13,7 @@ public class Main { new twoPowerN() }; + public static void main(String[] args) { Topic mathTopic = new Topic(); for (ThreadSubscriber sub : subscribers){ diff --git a/src/MainTest.java b/src/MainTest.java index 6e563f4..cc821cb 100644 --- a/src/MainTest.java +++ b/src/MainTest.java @@ -9,7 +9,9 @@ public class MainTest { new LucasSeries(), new Fibonacci(), new twoPowerN() + }; + public static void main(String[] args) { for (ObserverTest sub : subscribers){ Boolean res = sub.test(); diff --git a/src/twoPowerN.java b/src/twoPowerN.java new file mode 100644 index 0000000..6c771a8 --- /dev/null +++ b/src/twoPowerN.java @@ -0,0 +1,27 @@ + + +public class twoPowerN extends ThreadSubscriber implements ObserverTest { + double input; + public void notifySubscriber() { + input = topic.getInput(); + System.out.println("2 Power of "+input+ "=" +execute() ); + } + @Override + public String execute(){ + int x=2; + double res =Math.pow(x, input ); + String result=String.valueOf(res); + return result; + } + @Override + public Boolean test() { + input=2; + if(!execute().equals("4")) + return false; + else + + return true; + +} + +} From 42e33bfc9a4f7fdc5276cf77272936bc1f8d6cc0 Mon Sep 17 00:00:00 2001 From: HabibaMagdyMohamed Date: Tue, 26 Nov 2019 18:59:17 +0200 Subject: [PATCH 42/45] add power --- src/twoPowerN.java | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/twoPowerN.java b/src/twoPowerN.java index 6c771a8..15cbb58 100644 --- a/src/twoPowerN.java +++ b/src/twoPowerN.java @@ -9,19 +9,28 @@ public void notifySubscriber() { @Override public String execute(){ int x=2; - double res =Math.pow(x, input ); + double res =Math.pow( x, input ); String result=String.valueOf(res); return result; } + @Override public Boolean test() { input=2; - if(!execute().equals("4")) - return false; - else + if(!execute().equals("4.0")) + + + return false; - return true; + else + + return true; + + + } + + } -} + From 4ff3b5ce87da01c11641ab1013b4441fdf97bb8c Mon Sep 17 00:00:00 2001 From: fady maged Date: Tue, 26 Nov 2019 19:23:13 +0200 Subject: [PATCH 43/45] removed duplicate folder --- src/git_assignment_initial/twoPowerN.java | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 src/git_assignment_initial/twoPowerN.java diff --git a/src/git_assignment_initial/twoPowerN.java b/src/git_assignment_initial/twoPowerN.java deleted file mode 100644 index a596022..0000000 --- a/src/git_assignment_initial/twoPowerN.java +++ /dev/null @@ -1,5 +0,0 @@ -package git_assignment_initial; - -public class twoPowerN { - -} From 031600f6ad7e2a20ed88e539d586e87cfebedc09 Mon Sep 17 00:00:00 2001 From: fady maged Date: Tue, 26 Nov 2019 23:26:01 +0200 Subject: [PATCH 44/45] Updated Main to take input in a loop --- src/Main.java | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/src/Main.java b/src/Main.java index 9cad6c3..f96f1c1 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,28 +1,30 @@ import java.util.Scanner; public class Main { - private static ThreadSubscriber subscribers [] = { - new SphereArea() , - new CircleArea(), - new CircleCircumference(), - new SummationSeries(), - new MultiplicationSeries(), - new CircleVolum(), - new LucasSeries(), - new Fibonacci(), - new twoPowerN() - }; - - + public static void main(String[] args) { - Topic mathTopic = new Topic(); - for (ThreadSubscriber sub : subscribers){ - mathTopic.addSubscriber(sub); - sub.setTopic(mathTopic); + while(true) { + ThreadSubscriber subscribers [] = { + new SphereArea() , + new CircleArea(), + new CircleCircumference(), + new SummationSeries(), + new MultiplicationSeries(), + new CircleVolum(), + new LucasSeries(), + new Fibonacci(), + new twoPowerN() + }; + + Topic mathTopic = new Topic(); + for (ThreadSubscriber sub : subscribers) { + mathTopic.addSubscriber(sub); + sub.setTopic(mathTopic); + } + Scanner sc = new Scanner(System.in); + double input = sc.nextDouble(); + mathTopic.setInput(input); + mathTopic.dispatchEvent(); } - Scanner sc = new Scanner(System.in); - double input = sc.nextDouble(); - mathTopic.setInput(input); - mathTopic.dispatchEvent(); } } From bd8ac817efc8360fec356f4dc4bedde6ff36b928 Mon Sep 17 00:00:00 2001 From: saraadam311461 <58274013+saraadam311461@users.noreply.github.com> Date: Tue, 3 Mar 2020 11:18:56 +0200 Subject: [PATCH 45/45] Update SphereArea.java --- src/SphereArea.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/SphereArea.java b/src/SphereArea.java index 34a67fc..613b41d 100644 --- a/src/SphereArea.java +++ b/src/SphereArea.java @@ -1,5 +1,7 @@ public class SphereArea extends ThreadSubscriber implements ObserverTest{ double input; + double Area; + String res; @Override public void notifySubscriber() { @@ -8,7 +10,8 @@ public void notifySubscriber() { } @Override public String execute(){ - String res = String.valueOf(4*3.14*input*input); + Area = 4*3.14*input*input; + res=""+Area; return res; } @Override