summaryrefslogtreecommitdiff
path: root/src/main/java/au/id/zancanaro/javacheck/state/Command.java
diff options
context:
space:
mode:
authorCarlo Zancanaro <carlo@zancanaro.id.au>2015-06-06 16:40:04 +1000
committerCarlo Zancanaro <carlo@zancanaro.id.au>2015-06-06 16:40:04 +1000
commit84f0f216b4643601e4b8760d190b087bbce98bd4 (patch)
tree5f9ea5c1087b5da6611c9a9c51ba076e55e4e9e3 /src/main/java/au/id/zancanaro/javacheck/state/Command.java
parent05ec409ce96da92d430c4a8e58b08d46f42d667a (diff)
Lots of work on the stateful checking stuff: it's a fair bit nicer now
Diffstat (limited to 'src/main/java/au/id/zancanaro/javacheck/state/Command.java')
-rw-r--r--src/main/java/au/id/zancanaro/javacheck/state/Command.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/main/java/au/id/zancanaro/javacheck/state/Command.java b/src/main/java/au/id/zancanaro/javacheck/state/Command.java
index afa3957..78df8f1 100644
--- a/src/main/java/au/id/zancanaro/javacheck/state/Command.java
+++ b/src/main/java/au/id/zancanaro/javacheck/state/Command.java
@@ -2,22 +2,26 @@ package au.id.zancanaro.javacheck.state;
import au.id.zancanaro.javacheck.Generator;
-public abstract class Command<State,Args,Result> {
- public Generator<Args> argsGenerator(State state) {
+public abstract class Command<S, A, R> {
+ public Generator<A> argsGenerator(S state) {
return Generator.pure(null);
}
- public boolean preCondition(State state, Args args) {
+ public boolean preCondition(S state, A args) {
return true;
}
- public abstract Result runCommand(Args args);
+ public abstract R runCommand(S state, A args) throws Throwable;
- public State nextState(State state, Args args, CommandValue<Result> result) {
+ public S nextState(S state, A args, CommandValue<R> result) {
return state;
}
- public boolean postCondition(State oldState, State newState, Args args, Result result) {
- return true;
+ public void postCondition(S oldState, S newState, A args, R result) throws Throwable {
+ }
+
+ @Override
+ public String toString() {
+ return this.getClass().getSimpleName();
}
}