diff options
author | Carlo Zancanaro <carlo@zancanaro.id.au> | 2015-06-06 16:40:04 +1000 |
---|---|---|
committer | Carlo Zancanaro <carlo@zancanaro.id.au> | 2015-06-06 16:40:04 +1000 |
commit | 84f0f216b4643601e4b8760d190b087bbce98bd4 (patch) | |
tree | 5f9ea5c1087b5da6611c9a9c51ba076e55e4e9e3 /src/main/java/au/id/zancanaro/javacheck/state/Command.java | |
parent | 05ec409ce96da92d430c4a8e58b08d46f42d667a (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.java | 18 |
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(); } } |