diff --git a/.gitignore.txt b/.gitignore.txt new file mode 100644 index 00000000..62c89355 --- /dev/null +++ b/.gitignore.txt @@ -0,0 +1 @@ +.idea/ \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000..13566b81 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000..7b9e5be3 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 00000000..712ab9d9 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000..42e3abed --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 00000000..2b63946d --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000..35eb1ddf --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/edu/kis/vh/nursery/DefaultRhymer.java b/src/main/java/edu/kis/vh/nursery/DefaultRhymer.java new file mode 100644 index 00000000..08896d9c --- /dev/null +++ b/src/main/java/edu/kis/vh/nursery/DefaultRhymer.java @@ -0,0 +1,36 @@ +package edu.kis.vh.nursery; + +public class DefaultRhymer { + + public static final int DEFAULT_INDEX = -1; + public static final int NUMBERS_CAPACITY = 12; + private final int[] NUMBERS = new int[NUMBERS_CAPACITY]; + + public int DEFAULT_VALUE = -1; + + public void countIn(int in) { + if (!isFull()) + NUMBERS[++DEFAULT_VALUE] = in; + } + + public boolean callCheck() { + return DEFAULT_VALUE == DEFAULT_INDEX; + } + + public boolean isFull() { + return DEFAULT_VALUE == NUMBERS_CAPACITY - 1; + } + + protected int peekaboo() { + if (callCheck()) + return DEFAULT_INDEX; + return NUMBERS[DEFAULT_VALUE]; + } + + public int countOut() { + if (callCheck()) + return DEFAULT_INDEX; + return NUMBERS[DEFAULT_VALUE--]; + } + +} diff --git a/src/main/java/edu/kis/vh/nursery/FIFORhymer.java b/src/main/java/edu/kis/vh/nursery/FIFORhymer.java index 28591ada..042cd1d5 100644 --- a/src/main/java/edu/kis/vh/nursery/FIFORhymer.java +++ b/src/main/java/edu/kis/vh/nursery/FIFORhymer.java @@ -1,8 +1,8 @@ package edu.kis.vh.nursery; -public class FIFORhymer extends defaultCountingOutRhymer { +public class FIFORhymer extends DefaultRhymer { - public defaultCountingOutRhymer temp = new defaultCountingOutRhymer(); + public final DefaultRhymer temp = new DefaultRhymer(); @Override public int countOut() { diff --git a/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java b/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java index 755b2d58..18071843 100644 --- a/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java +++ b/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java @@ -1,17 +1,18 @@ package edu.kis.vh.nursery; -public class HanoiRhymer extends defaultCountingOutRhymer { +public class HanoiRhymer extends DefaultRhymer { -int totalRejected = 0; + int totalRejected = 0; - public int reportRejected() { + public int printRejectedReports() { return totalRejected; } + @Override public void countIn(int in) { - if (!callCheck() && in > peekaboo()) + if (!callCheck() && in > peekaboo()) totalRejected++; - else - super.countIn(in); + else + super.countIn(in); } } diff --git a/src/main/java/edu/kis/vh/nursery/defaultCountingOutRhymer.java b/src/main/java/edu/kis/vh/nursery/defaultCountingOutRhymer.java deleted file mode 100644 index 199abf6d..00000000 --- a/src/main/java/edu/kis/vh/nursery/defaultCountingOutRhymer.java +++ /dev/null @@ -1,34 +0,0 @@ -package edu.kis.vh.nursery; - -public class defaultCountingOutRhymer { - - private int[] NUMBERS = new int[12]; - - public int total = -1; - - public void countIn(int in) { - if (!isFull()) - NUMBERS[++total] = in; - } - - public boolean callCheck() { - return total == -1; - } - - public boolean isFull() { - return total == 11; - } - - protected int peekaboo() { - if (callCheck()) - return -1; - return NUMBERS[total]; - } - - public int countOut() { - if (callCheck()) - return -1; - return NUMBERS[total--]; - } - -} diff --git a/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java b/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java index 60ba2a16..1db5c31d 100644 --- a/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java +++ b/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java @@ -1,29 +1,28 @@ package edu.kis.vh.nursery.factory; -import edu.kis.vh.nursery.defaultCountingOutRhymer; +import edu.kis.vh.nursery.DefaultRhymer; import edu.kis.vh.nursery.FIFORhymer; import edu.kis.vh.nursery.HanoiRhymer; -import edu.kis.vh.nursery.factory.Rhymersfactory; public class DefaultRhymersFactory implements Rhymersfactory { @Override - public defaultCountingOutRhymer GetStandardRhymer() { - return new defaultCountingOutRhymer(); + public DefaultRhymer GetStandardRhymer() { + return new DefaultRhymer(); } @Override - public defaultCountingOutRhymer GetFalseRhymer() { - return new defaultCountingOutRhymer(); + public DefaultRhymer GetFalseRhymer() { + return new DefaultRhymer(); } @Override - public defaultCountingOutRhymer GetFIFORhymer() { + public DefaultRhymer GetFIFORhymer() { return new FIFORhymer(); } @Override - public defaultCountingOutRhymer GetHanoiRhymer() { + public DefaultRhymer GetHanoiRhymer() { return new HanoiRhymer(); } diff --git a/src/main/java/edu/kis/vh/nursery/factory/Rhymersfactory.java b/src/main/java/edu/kis/vh/nursery/factory/Rhymersfactory.java index 033755d0..cd7d29dd 100644 --- a/src/main/java/edu/kis/vh/nursery/factory/Rhymersfactory.java +++ b/src/main/java/edu/kis/vh/nursery/factory/Rhymersfactory.java @@ -1,15 +1,15 @@ package edu.kis.vh.nursery.factory; -import edu.kis.vh.nursery.defaultCountingOutRhymer; +import edu.kis.vh.nursery.DefaultRhymer; public interface Rhymersfactory { - public defaultCountingOutRhymer GetStandardRhymer(); + public DefaultRhymer GetStandardRhymer(); - public defaultCountingOutRhymer GetFalseRhymer(); + public DefaultRhymer GetFalseRhymer(); - public defaultCountingOutRhymer GetFIFORhymer(); + public DefaultRhymer GetFIFORhymer(); - public defaultCountingOutRhymer GetHanoiRhymer(); + public DefaultRhymer GetHanoiRhymer(); } diff --git a/src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java b/src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java index 07efc0a2..11a940a3 100644 --- a/src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java +++ b/src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java @@ -2,6 +2,7 @@ public class IntLinkedList { + public static final int FAILURE_VALUE = -1; Node last; int i; @@ -25,13 +26,13 @@ public boolean isFull() { public int top() { if (isEmpty()) - return -1; + return FAILURE_VALUE; return last.value; } public int pop() { if (isEmpty()) - return -1; + return FAILURE_VALUE; int ret = last.value; last = last.prev; return ret; diff --git a/src/main/java/edu/kis/vh/nursery/list/Node.java b/src/main/java/edu/kis/vh/nursery/list/Node.java index 0a2cd75e..abd6bc5c 100644 --- a/src/main/java/edu/kis/vh/nursery/list/Node.java +++ b/src/main/java/edu/kis/vh/nursery/list/Node.java @@ -2,7 +2,7 @@ public class Node { - public int value; + public final int value; public Node prev, next; public Node(int i) { diff --git a/src/test/java/edu/kis/vh/nursery/RhymersDemo.java b/src/test/java/edu/kis/vh/nursery/RhymersDemo.java index 05aba9fa..574a742a 100644 --- a/src/test/java/edu/kis/vh/nursery/RhymersDemo.java +++ b/src/test/java/edu/kis/vh/nursery/RhymersDemo.java @@ -1,7 +1,5 @@ package edu.kis.vh.nursery; -import edu.kis.vh.nursery.defaultCountingOutRhymer; -import edu.kis.vh.nursery.HanoiRhymer; import edu.kis.vh.nursery.factory.DefaultRhymersFactory; import edu.kis.vh.nursery.factory.Rhymersfactory; @@ -10,7 +8,7 @@ class RhymersDemo { public static void main(String[] args) { Rhymersfactory factory = new DefaultRhymersFactory(); - defaultCountingOutRhymer[] rhymers = { factory.GetStandardRhymer(), factory.GetFalseRhymer(), + DefaultRhymer[] rhymers = { factory.GetStandardRhymer(), factory.GetFalseRhymer(), factory.GetFIFORhymer(), factory.GetHanoiRhymer()}; for (int i = 1; i < 15; i++) @@ -28,7 +26,7 @@ public static void main(String[] args) { } System.out.println("total rejected is " - + ((HanoiRhymer) rhymers[3]).reportRejected()); + + ((HanoiRhymer) rhymers[3]).printRejectedReports()); } diff --git a/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java b/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java index 144906eb..75a618ff 100644 --- a/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java +++ b/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java @@ -7,7 +7,7 @@ public class RhymersJUnitTest { @Test public void testCountIn() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultRhymer rhymer = new DefaultRhymer(); int testValue = 4; rhymer.countIn(testValue); @@ -17,7 +17,7 @@ public void testCountIn() { @Test public void testCallCheck() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultRhymer rhymer = new DefaultRhymer(); boolean result = rhymer.callCheck(); Assert.assertEquals(true, result); @@ -29,7 +29,7 @@ public void testCallCheck() { @Test public void testIsFull() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultRhymer rhymer = new DefaultRhymer(); final int STACK_CAPACITY = 12; for (int i = 0; i < STACK_CAPACITY; i++) { boolean result = rhymer.isFull(); @@ -43,7 +43,7 @@ public void testIsFull() { @Test public void testPeekaboo() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultRhymer rhymer = new DefaultRhymer(); final int EMPTY_STACK_VALUE = -1; int result = rhymer.peekaboo(); @@ -60,7 +60,7 @@ public void testPeekaboo() { @Test public void testCountOut() { - defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer(); + DefaultRhymer rhymer = new DefaultRhymer(); final int EMPTY_STACK_VALUE = -1; int result = rhymer.countOut();