summaryrefslogtreecommitdiff
path: root/smcc/src/test/java/at/gv/egiz/smcc/CardTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'smcc/src/test/java/at/gv/egiz/smcc/CardTest.java')
-rw-r--r--smcc/src/test/java/at/gv/egiz/smcc/CardTest.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/smcc/src/test/java/at/gv/egiz/smcc/CardTest.java b/smcc/src/test/java/at/gv/egiz/smcc/CardTest.java
index 298e26a5..f72820e1 100644
--- a/smcc/src/test/java/at/gv/egiz/smcc/CardTest.java
+++ b/smcc/src/test/java/at/gv/egiz/smcc/CardTest.java
@@ -76,6 +76,73 @@ public abstract class CardTest {
}
+ public class TestWrongPINProvider implements PINProvider {
+
+ int provided = 0;
+ int numWrongTries = 0;
+
+ char[] pin;
+
+ public TestWrongPINProvider(char[] pin, int numWrongTries) {
+ super();
+ this.pin = pin;
+ this.numWrongTries = numWrongTries;
+ }
+
+ @Override
+ public char[] providePIN(PINSpec spec, int retries)
+ throws CancelledException, InterruptedException {
+ if (provided >= numWrongTries) {
+ throw new CancelledException("Number of wrong tries reached: " + provided);
+ } else {
+ provided++;
+ return pin;
+ }
+ }
+
+ public int getProvided() {
+ return provided;
+ }
+ }
+
+ public class TestWrongChangePINProvider implements ChangePINProvider {
+
+ int provided = 0;
+ int numWrongTries = 0;
+
+ char[] pin;
+ char[] oldPin;
+
+ /** emulate ChangePinProvider */
+ public TestWrongChangePINProvider(char[] oldPin, char[] newPin, int numWrongTries) {
+ super();
+ this.pin = newPin;
+ this.oldPin = oldPin;
+ this.numWrongTries = numWrongTries;
+ }
+
+ @Override
+ public char[] providePIN(PINSpec spec, int retries)
+ throws CancelledException, InterruptedException {
+ return pin;
+ }
+
+ public int getProvided() {
+ return provided;
+ }
+
+ @Override
+ public char[] provideOldPIN(PINSpec spec, int retries)
+ throws CancelledException, InterruptedException {
+ if (provided >= numWrongTries) {
+ throw new CancelledException("Number of wrong tries reached: " + provided);
+ } else {
+ provided++;
+ return oldPin;
+ }
+ }
+ }
+
public CardTest() {
super();
}