diff --git a/.classpath b/.classpath
new file mode 100644
index 00000000..af1430be
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..b83d2226
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/.idea/.name b/.idea/.name
new file mode 100644
index 00000000..9af00aca
--- /dev/null
+++ b/.idea/.name
@@ -0,0 +1 @@
+powp-rhymers
\ No newline at end of file
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/misc.xml b/.idea/misc.xml
new file mode 100644
index 00000000..4b661a5f
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..94a25f7f
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 00000000..d10eb91f
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ package edu\.kis\.vh\.nursery\;\n\npublic class HanoiRhymer extends defaultCountingOutRhymer \{\n\nint totalRejected \= 0\;\n\n\ public int reportRejected\(\) \{\n\ \ return totalRejected\;\n\ \}\n\n\ public void countIn\(int in\) \{\n\ \ if \(\!callCheck\(\) \&\& in \> peekaboo\(\)\)\/\/tutaj\n\ \ \ totalRejected\+\+\;\n\ \ else \/\/tutaj\n\ \ \ super\.countIn\(in\)\;\/\/tutaj\n\ \}\n\}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1538923322569
+
+
+ 1538923322569
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.project b/.project
new file mode 100644
index 00000000..1d8d7bc2
--- /dev/null
+++ b/.project
@@ -0,0 +1,23 @@
+
+
+ powp-rhymers
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.m2e.core.maven2Nature
+
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..5b781ec6
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/test/java=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..714351ae
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 00000000..f897a7f1
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/src/main/java/edu/kis/vh/nursery/DefaultCountingOutRhymer.java b/src/main/java/edu/kis/vh/nursery/DefaultCountingOutRhymer.java
new file mode 100644
index 00000000..7bb7b12a
--- /dev/null
+++ b/src/main/java/edu/kis/vh/nursery/DefaultCountingOutRhymer.java
@@ -0,0 +1,45 @@
+package edu.kis.vh.nursery;
+
+import edu.kis.vh.nursery.collection.IntArrayStack;
+import edu.kis.vh.nursery.collection.Stack;
+
+public class DefaultCountingOutRhymer {
+
+ private Stack stack;
+
+ public DefaultCountingOutRhymer() {
+ super();
+ stack = new IntArrayStack();
+ }
+
+
+ public DefaultCountingOutRhymer(Stack stack) {
+ super();
+ this.stack = stack;
+ }
+
+ public int getTotal() {
+ return stack.getTotal();
+ }
+
+ public void countIn(int in) {
+ stack.push(in);
+ }
+
+ public boolean callCheck() {
+ return stack.isEmpty();
+ }
+
+ public boolean isFull() {
+ return stack.isFull();
+ }
+
+ public int countOut() {
+ return stack.pop();
+ }
+
+ public int peekaboo() {
+ return stack.top();
+ }
+
+}
diff --git a/src/main/java/edu/kis/vh/nursery/FIFORhymer.java b/src/main/java/edu/kis/vh/nursery/FIFORhymer.java
index f9e5fe3f..88ba77b2 100644
--- a/src/main/java/edu/kis/vh/nursery/FIFORhymer.java
+++ b/src/main/java/edu/kis/vh/nursery/FIFORhymer.java
@@ -1,21 +1,35 @@
package edu.kis.vh.nursery;
-public class FIFORhymer extends defaultCountingOutRhymer {
+import edu.kis.vh.nursery.collection.IntArrayStack;
+import edu.kis.vh.nursery.collection.IntLinkedList;
+import edu.kis.vh.nursery.collection.Stack;
+
+public class FIFORhymer extends DefaultCountingOutRhymer {
+
+ public FIFORhymer() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ public FIFORhymer(Stack stack) {
+ super(stack);
+ // TODO Auto-generated constructor stub
+ }
+
+ private Stack temp = new IntArrayStack();
- public defaultCountingOutRhymer temp = new defaultCountingOutRhymer();
-
@Override
public int countOut() {
while (!callCheck())
-
- temp.countIn(super.countOut());
-
- int ret = temp.countOut();
-
- while (!temp.callCheck())
-
- countIn(temp.countOut());
-
+
+ temp.push(super.countOut());
+
+ int ret = temp.pop();
+
+ while (!temp.isEmpty())
+
+ countIn(temp.pop());
+
return ret;
}
}
diff --git a/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java b/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java
index 2f5ce650..04891e8e 100644
--- a/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java
+++ b/src/main/java/edu/kis/vh/nursery/HanoiRhymer.java
@@ -1,17 +1,31 @@
package edu.kis.vh.nursery;
-public class HanoiRhymer extends defaultCountingOutRhymer {
+import edu.kis.vh.nursery.collection.Stack;
-int totalRejected = 0;
+public class HanoiRhymer extends DefaultCountingOutRhymer {
+
+ public HanoiRhymer() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ public HanoiRhymer(Stack stack) {
+ super(stack);
+ // TODO Auto-generated constructor stub
+ }
+
+ private int totalRejected = 0;// tutaj 3.1.1
public int reportRejected() {
return totalRejected;
}
-
+
+ @Override
public void countIn(int in) {
- if (!callCheck() && in > peekaboo())
+ if (!callCheck() && in > peekaboo())// tutaj 3.1.1
totalRejected++;
- else
- super.countIn(in);
+ else // tutaj 3.1.1
+ super.countIn(in);// tutaj 3.1.1
}
}
+//alt + -> przechodzi do kolejnego z otwieranych plików <- analogicznie do poprzedniego 3.1.3
\ No newline at end of file
diff --git a/src/main/java/edu/kis/vh/nursery/collection/IntArrayStack.java b/src/main/java/edu/kis/vh/nursery/collection/IntArrayStack.java
new file mode 100644
index 00000000..d6e30759
--- /dev/null
+++ b/src/main/java/edu/kis/vh/nursery/collection/IntArrayStack.java
@@ -0,0 +1,72 @@
+package edu.kis.vh.nursery.collection;
+
+public class IntArrayStack implements Stack {
+
+ int total = INITIAL_VALUE;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see edu.kis.vh.nursery.Stack#getTotal()
+ */
+ @Override
+ public int getTotal() {
+ return total;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see edu.kis.vh.nursery.Stack#push(int)
+ */
+ @Override
+ public void push(int in) {
+ if (!isFull())
+ NUMBERS[++total] = in;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see edu.kis.vh.nursery.Stack#isEmpty()
+ */
+ @Override
+ public boolean isEmpty() {
+ return total == INITIAL_VALUE;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see edu.kis.vh.nursery.Stack#isFull()
+ */
+ @Override
+ public boolean isFull() {
+ return total == CHECK_FULL;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see edu.kis.vh.nursery.Stack#top()
+ */
+ @Override
+ public int top() {
+ if (isEmpty())
+ return INITIAL_VALUE;
+ return NUMBERS[total];
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see edu.kis.vh.nursery.Stack#pop()
+ */
+ @Override
+ public int pop() {
+ if (isEmpty())
+ return INITIAL_VALUE;
+ return NUMBERS[total--];
+ }
+
+}
diff --git a/src/main/java/edu/kis/vh/nursery/collection/IntLinkedList.java b/src/main/java/edu/kis/vh/nursery/collection/IntLinkedList.java
new file mode 100644
index 00000000..2b3abb82
--- /dev/null
+++ b/src/main/java/edu/kis/vh/nursery/collection/IntLinkedList.java
@@ -0,0 +1,50 @@
+package edu.kis.vh.nursery.collection;
+
+public class IntLinkedList implements Stack {
+
+ Node last;
+ int size;
+
+ public void push(int i) {
+ if (last == null)
+ last = new Node(i);
+ else {
+ last.setNext(new Node(i));
+ last.getNext().setPrev(last);
+ last = last.getNext();
+ }
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return last == null;
+ }
+
+ @Override
+ public boolean isFull() {
+ return false;
+ }
+
+ @Override
+ public int top() {
+ if (isEmpty())
+ return INITIAL_VALUE;
+ return last.getValue();
+ }
+
+ @Override
+ public int pop() {
+ if (isEmpty())
+ return INITIAL_VALUE;
+ int ret = last.getValue();
+ last = last.getPrev();
+ return ret;
+ }
+
+ @Override
+ public int getTotal() {
+ // TODO Auto-generated method stub
+ return size;
+ }
+
+}
diff --git a/src/main/java/edu/kis/vh/nursery/collection/Node.java b/src/main/java/edu/kis/vh/nursery/collection/Node.java
new file mode 100644
index 00000000..ad41741a
--- /dev/null
+++ b/src/main/java/edu/kis/vh/nursery/collection/Node.java
@@ -0,0 +1,33 @@
+package edu.kis.vh.nursery.collection;
+
+public class Node {
+
+ private int value;
+ private Node prev;
+ private Node next;
+
+ public Node(int i) {
+ value = i;
+ }
+
+ public Node getNext() {
+ return next;
+ }
+
+ public void setNext(Node next) {
+ this.next = next;
+ }
+
+ public int getValue() {
+ return value;
+ }
+
+ public Node getPrev() {
+ return prev;
+ }
+
+ public void setPrev(Node prev) {
+ this.prev = prev;
+ }
+
+}
diff --git a/src/main/java/edu/kis/vh/nursery/collection/Stack.java b/src/main/java/edu/kis/vh/nursery/collection/Stack.java
new file mode 100644
index 00000000..889a618b
--- /dev/null
+++ b/src/main/java/edu/kis/vh/nursery/collection/Stack.java
@@ -0,0 +1,24 @@
+package edu.kis.vh.nursery.collection;
+
+public interface Stack {
+ static final int CHECK_FULL = 11;
+
+ static final int INITIAL_VALUE = 0;
+
+ static final int ARRAY_SIZE = 12;
+
+ int[] NUMBERS = new int[ARRAY_SIZE];
+
+ int getTotal();
+
+ void push(int in);
+
+ boolean isEmpty();
+
+ boolean isFull();
+
+ int top();
+
+ int pop();
+
+}
\ No newline at end of file
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 de8ae5ef..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/ArrayRhymersFactory.java b/src/main/java/edu/kis/vh/nursery/factory/ArrayRhymersFactory.java
new file mode 100644
index 00000000..bfb3e3f3
--- /dev/null
+++ b/src/main/java/edu/kis/vh/nursery/factory/ArrayRhymersFactory.java
@@ -0,0 +1,31 @@
+package edu.kis.vh.nursery.factory;
+
+import edu.kis.vh.nursery.DefaultCountingOutRhymer;
+import edu.kis.vh.nursery.FIFORhymer;
+import edu.kis.vh.nursery.HanoiRhymer;
+import edu.kis.vh.nursery.collection.IntArrayStack;
+import edu.kis.vh.nursery.collection.IntLinkedList;
+
+public class ArrayRhymersFactory implements Rhymersfactory {
+
+ @Override
+ public DefaultCountingOutRhymer getStandardRhymer() {
+ return new DefaultCountingOutRhymer(new IntArrayStack());
+ }
+
+ @Override
+ public DefaultCountingOutRhymer getFalseRhymer() {
+ return new DefaultCountingOutRhymer(new IntLinkedList());
+ }
+
+ @Override
+ public DefaultCountingOutRhymer getFIFORhymer() {
+ return new FIFORhymer(new IntArrayStack());
+ }
+
+ @Override
+ public DefaultCountingOutRhymer getHanoiRhymer() {
+ return new HanoiRhymer(new IntArrayStack());
+ }
+
+}
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 b9d944e7..2ec0eb87 100644
--- a/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java
+++ b/src/main/java/edu/kis/vh/nursery/factory/DefaultRhymersFactory.java
@@ -1,6 +1,6 @@
package edu.kis.vh.nursery.factory;
-import edu.kis.vh.nursery.defaultCountingOutRhymer;
+import edu.kis.vh.nursery.DefaultCountingOutRhymer;
import edu.kis.vh.nursery.FIFORhymer;
import edu.kis.vh.nursery.HanoiRhymer;
import edu.kis.vh.nursery.factory.Rhymersfactory;
@@ -8,22 +8,22 @@
public class DefaultRhymersFactory implements Rhymersfactory {
@Override
- public defaultCountingOutRhymer GetStandardRhymer() {
- return new defaultCountingOutRhymer();
+ public DefaultCountingOutRhymer getStandardRhymer() {
+ return new DefaultCountingOutRhymer();
}
@Override
- public defaultCountingOutRhymer GetFalseRhymer() {
- return new defaultCountingOutRhymer();
+ public DefaultCountingOutRhymer getFalseRhymer() {
+ return new DefaultCountingOutRhymer();
}
@Override
- public defaultCountingOutRhymer GetFIFORhymer() {
+ public DefaultCountingOutRhymer getFIFORhymer() {
return new FIFORhymer();
}
@Override
- public defaultCountingOutRhymer GetHanoiRhymer() {
+ public DefaultCountingOutRhymer getHanoiRhymer() {
return new HanoiRhymer();
}
diff --git a/src/main/java/edu/kis/vh/nursery/factory/ListRhymersFactory.java b/src/main/java/edu/kis/vh/nursery/factory/ListRhymersFactory.java
new file mode 100644
index 00000000..a3778e24
--- /dev/null
+++ b/src/main/java/edu/kis/vh/nursery/factory/ListRhymersFactory.java
@@ -0,0 +1,31 @@
+package edu.kis.vh.nursery.factory;
+
+import edu.kis.vh.nursery.DefaultCountingOutRhymer;
+import edu.kis.vh.nursery.FIFORhymer;
+import edu.kis.vh.nursery.HanoiRhymer;
+import edu.kis.vh.nursery.collection.IntArrayStack;
+import edu.kis.vh.nursery.collection.IntLinkedList;
+
+public class ListRhymersFactory implements Rhymersfactory {
+
+ @Override
+ public DefaultCountingOutRhymer getStandardRhymer() {
+ return new DefaultCountingOutRhymer(new IntLinkedList());
+ }
+
+ @Override
+ public DefaultCountingOutRhymer getFalseRhymer() {
+ return new DefaultCountingOutRhymer(new IntArrayStack());
+ }
+
+ @Override
+ public DefaultCountingOutRhymer getFIFORhymer() {
+ return new FIFORhymer(new IntLinkedList());
+ }
+
+ @Override
+ public DefaultCountingOutRhymer getHanoiRhymer() {
+ return new HanoiRhymer(new IntLinkedList());
+ }
+
+}
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 4fc316ca..f9140b3f 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.DefaultCountingOutRhymer;
public interface Rhymersfactory {
- public defaultCountingOutRhymer GetStandardRhymer();
+ public DefaultCountingOutRhymer getStandardRhymer();
- public defaultCountingOutRhymer GetFalseRhymer();
+ public DefaultCountingOutRhymer getFalseRhymer();
- public defaultCountingOutRhymer GetFIFORhymer();
+ public DefaultCountingOutRhymer getFIFORhymer();
- public defaultCountingOutRhymer GetHanoiRhymer();
+ public DefaultCountingOutRhymer 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
deleted file mode 100644
index 981e8ec1..00000000
--- a/src/main/java/edu/kis/vh/nursery/list/IntLinkedList.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package edu.kis.vh.nursery.list;
-
-public class IntLinkedList {
-
- Node last;
- int i;
-
- public void push(int i) {
- if (last == null)
- last = new Node(i);
- else {
- last.next = new Node(i);
- last.next.prev = last;
- last = last.next;
- }
- }
-
- public boolean isEmpty() {
- return last == null;
- }
-
- public boolean isFull() {
- return false;
- }
-
- public int top() {
- if (isEmpty())
- return -1;
- return last.value;
- }
-
- public int pop() {
- if (isEmpty())
- return -1;
- 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
deleted file mode 100644
index 7887c87f..00000000
--- a/src/main/java/edu/kis/vh/nursery/list/Node.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package edu.kis.vh.nursery.list;
-
-public class Node {
-
- public int value;
- public Node prev, next;
-
- public Node(int i) {
- value = i;
- }
-
-}
diff --git a/src/test/java/edu/kis/vh/nursery/RhymersDemo.java b/src/test/java/edu/kis/vh/nursery/RhymersDemo.java
index 50879533..861d5889 100644
--- a/src/test/java/edu/kis/vh/nursery/RhymersDemo.java
+++ b/src/test/java/edu/kis/vh/nursery/RhymersDemo.java
@@ -1,35 +1,44 @@
package edu.kis.vh.nursery;
-import edu.kis.vh.nursery.defaultCountingOutRhymer;
+import edu.kis.vh.nursery.DefaultCountingOutRhymer;
import edu.kis.vh.nursery.HanoiRhymer;
+import edu.kis.vh.nursery.factory.ArrayRhymersFactory;
import edu.kis.vh.nursery.factory.DefaultRhymersFactory;
+import edu.kis.vh.nursery.factory.ListRhymersFactory;
import edu.kis.vh.nursery.factory.Rhymersfactory;
class RhymersDemo {
public static void main(String[] args) {
- Rhymersfactory factory = new DefaultRhymersFactory();
-
- defaultCountingOutRhymer[] rhymers = { factory.GetStandardRhymer(), factory.GetFalseRhymer(),
- factory.GetFIFORhymer(), factory.GetHanoiRhymer()};
-
+ Rhymersfactory defaultFactory = new DefaultRhymersFactory();
+ Rhymersfactory arrayFactory = new ArrayRhymersFactory();
+ Rhymersfactory listFactory = new ListRhymersFactory();
+
+ testRhymers(defaultFactory);
+ testRhymers(arrayFactory);
+ testRhymers(listFactory);
+
+ }
+
+ private static void testRhymers(Rhymersfactory factory) {
+ DefaultCountingOutRhymer[] rhymers = { factory.getStandardRhymer(), factory.getFalseRhymer(),
+ factory.getFIFORhymer(), factory.getHanoiRhymer() };
+
for (int i = 1; i < 15; i++)
for (int j = 0; j < 3; j++)
rhymers[j].countIn(i);
-
+
java.util.Random rn = new java.util.Random();
for (int i = 1; i < 15; i++)
rhymers[3].countIn(rn.nextInt(20));
-
+
for (int i = 0; i < rhymers.length; i++) {
while (!rhymers[i].callCheck())
System.out.print(rhymers[i].countOut() + " ");
System.out.println();
}
-
- System.out.println("total rejected is "
- + ((HanoiRhymer) rhymers[3]).reportRejected());
-
+
+ System.out.println("total rejected is " + ((HanoiRhymer) rhymers[3]).reportRejected());
}
-
+
}
\ No newline at end of file
diff --git a/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java b/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java
index 0cc6c13c..e572dfc2 100644
--- a/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java
+++ b/src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java
@@ -3,38 +3,41 @@
import org.junit.Assert;
import org.junit.Test;
+import edu.kis.vh.nursery.collection.IntArrayStack;
+import edu.kis.vh.nursery.collection.Stack;
+
public class RhymersJUnitTest {
@Test
public void testCountIn() {
- defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer();
- int testValue = 4;
- rhymer.countIn(testValue);
+ Stack rhymer = new IntArrayStack();
+ int testValue = 5;
+ rhymer.push(testValue);
- int result = rhymer.peekaboo();
+ int result = rhymer.top();
Assert.assertEquals(testValue, result);
}
@Test
public void testCallCheck() {
- defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer();
- boolean result = rhymer.callCheck();
+ Stack rhymer = new IntArrayStack();
+ boolean result = rhymer.isEmpty();
Assert.assertEquals(true, result);
- rhymer.countIn(888);
+ rhymer.push(888);
- result = rhymer.callCheck();
+ result = rhymer.isEmpty();
Assert.assertEquals(false, result);
}
@Test
public void testIsFull() {
- defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer();
+ Stack rhymer = new IntArrayStack();
final int STACK_CAPACITY = 12;
- for (int i = 0; i < STACK_CAPACITY; i++) {
+ for (int i = 1; i < STACK_CAPACITY; i++) {
boolean result = rhymer.isFull();
Assert.assertEquals(false, result);
- rhymer.countIn(888);
+ rhymer.push(888);
}
boolean result = rhymer.isFull();
@@ -43,35 +46,35 @@ public void testIsFull() {
@Test
public void testPeekaboo() {
- defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer();
- final int EMPTY_STACK_VALUE = -1;
+ Stack rhymer = new IntArrayStack();
+ final int EMPTY_STACK_VALUE = 0;
- int result = rhymer.peekaboo();
+ int result = rhymer.top();
Assert.assertEquals(EMPTY_STACK_VALUE, result);
int testValue = 4;
- rhymer.countIn(testValue);
+ rhymer.push(testValue);
- result = rhymer.peekaboo();
+ result = rhymer.top();
Assert.assertEquals(testValue, result);
- result = rhymer.peekaboo();
+ result = rhymer.top();
Assert.assertEquals(testValue, result);
}
@Test
public void testCountOut() {
- defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer();
- final int EMPTY_STACK_VALUE = -1;
+ Stack rhymer = new IntArrayStack();
+ final int EMPTY_STACK_VALUE = 0;
- int result = rhymer.countOut();
+ int result = rhymer.pop();
Assert.assertEquals(EMPTY_STACK_VALUE, result);
int testValue = 4;
- rhymer.countIn(testValue);
+ rhymer.push(testValue);
- result = rhymer.countOut();
+ result = rhymer.pop();
Assert.assertEquals(testValue, result);
- result = rhymer.countOut();
+ result = rhymer.pop();
Assert.assertEquals(EMPTY_STACK_VALUE, result);
}