Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dotychczasowe zadania #39

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.idea/
21 changes: 0 additions & 21 deletions src/main/java/edu/kis/vh/nursery/FIFORhymer.java

This file was deleted.

25 changes: 25 additions & 0 deletions src/main/java/edu/kis/vh/nursery/FIFOrhymer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package edu.kis.vh.nursery;

public class FIFOrhymer extends defaultRhymer {

private final defaultRhymer temp = new defaultRhymer();

@Override
protected int getPenultimateNumber() {
while (!check())

temp.countIn(super.getPenultimateNumber());

int ret = temp.getPenultimateNumber();

while (!temp.check())

countIn(temp.getPenultimateNumber());

return ret;
}

public defaultRhymer getTemp() {
return temp;
}
}
20 changes: 13 additions & 7 deletions src/main/java/edu/kis/vh/nursery/HanoiRhymer.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
package edu.kis.vh.nursery;

public class HanoiRhymer extends defaultCountingOutRhymer {
public class HanoiRhymer extends defaultRhymer {

int totalRejected = 0;
private int totalRejected = 0;

public int reportRejected() {
protected int RejectedReports() {
return totalRejected;
}

public void countIn(int in) {
if (!callCheck() && in > peekaboo())
protected void countIn(int in) {
if (!check() && in > getLastNumber())
totalRejected++;
else
super.countIn(in);
else
super.countIn(in);
}

public int getTotalRejected() {
return totalRejected;
}


}
34 changes: 0 additions & 34 deletions src/main/java/edu/kis/vh/nursery/defaultCountingOutRhymer.java

This file was deleted.

43 changes: 43 additions & 0 deletions src/main/java/edu/kis/vh/nursery/defaultRhymer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package edu.kis.vh.nursery;

public class defaultRhymer {

private final int[] NUMBERS = new int[12];

private int total = -1;

public int getTotal() {
return total;
}

protected void countIn(int in) {
if (!isFull())
NUMBERS[++total] = in;
}

protected boolean check() {
return total == -1;
}

protected boolean isFull() {
return total == 11;
}

protected int getLastNumber() {
if (check())
return -1;
return NUMBERS[total];
}

protected int getPenultimateNumber() {
if (check())
return -1;
return NUMBERS[total--];
}

public int[] getNUMBERS() {
return NUMBERS;
}


}
Original file line number Diff line number Diff line change
@@ -1,29 +1,28 @@
package edu.kis.vh.nursery.factory;

import edu.kis.vh.nursery.defaultCountingOutRhymer;
import edu.kis.vh.nursery.FIFORhymer;
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() {
return new FIFORhymer();
public defaultRhymer GetFIFORhymer() {
return new FIFOrhymer();
}

@Override
public defaultCountingOutRhymer GetHanoiRhymer() {
public defaultRhymer GetHanoiRhymer() {
return new HanoiRhymer();
}

Expand Down
10 changes: 5 additions & 5 deletions src/main/java/edu/kis/vh/nursery/factory/Rhymersfactory.java
Original file line number Diff line number Diff line change
@@ -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();

}
10 changes: 4 additions & 6 deletions src/test/java/edu/kis/vh/nursery/RhymersDemo.java
Original file line number Diff line number Diff line change
@@ -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;

Expand All @@ -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++)
Expand All @@ -22,13 +20,13 @@ public static void main(String[] args) {
rhymers[3].countIn(rn.nextInt(20));

for (int i = 0; i < rhymers.length; i++) {
while (!rhymers[i].callCheck())
System.out.print(rhymers[i].countOut() + " ");
while (!rhymers[i].check())
System.out.print(rhymers[i].getPenultimateNumber() + " ");
System.out.println();
}

System.out.println("total rejected is "
+ ((HanoiRhymer) rhymers[3]).reportRejected());
+ ((HanoiRhymer) rhymers[3]).RejectedReports());

}

Expand Down
28 changes: 14 additions & 14 deletions src/test/java/edu/kis/vh/nursery/RhymersJUnitTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,29 @@ public class RhymersJUnitTest {

@Test
public void testCountIn() {
defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer();
defaultRhymer rhymer = new defaultRhymer();
int testValue = 4;
rhymer.countIn(testValue);

int result = rhymer.peekaboo();
int result = rhymer.getLastNumber();
Assert.assertEquals(testValue, result);
}

@Test
public void testCallCheck() {
defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer();
boolean result = rhymer.callCheck();
defaultRhymer rhymer = new defaultRhymer();
boolean result = rhymer.check();
Assert.assertEquals(true, result);

rhymer.countIn(888);

result = rhymer.callCheck();
result = rhymer.check();
Assert.assertEquals(false, result);
}

@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();
Expand All @@ -43,35 +43,35 @@ 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();
int result = rhymer.getLastNumber();
Assert.assertEquals(EMPTY_STACK_VALUE, result);

int testValue = 4;
rhymer.countIn(testValue);

result = rhymer.peekaboo();
result = rhymer.getLastNumber();
Assert.assertEquals(testValue, result);
result = rhymer.peekaboo();
result = rhymer.getLastNumber();
Assert.assertEquals(testValue, result);
}

@Test
public void testCountOut() {
defaultCountingOutRhymer rhymer = new defaultCountingOutRhymer();
defaultRhymer rhymer = new defaultRhymer();
final int EMPTY_STACK_VALUE = -1;

int result = rhymer.countOut();
int result = rhymer.getPenultimateNumber();
Assert.assertEquals(EMPTY_STACK_VALUE, result);

int testValue = 4;
rhymer.countIn(testValue);

result = rhymer.countOut();
result = rhymer.getPenultimateNumber();
Assert.assertEquals(testValue, result);
result = rhymer.countOut();
result = rhymer.getPenultimateNumber();
Assert.assertEquals(EMPTY_STACK_VALUE, result);
}

Expand Down