summaryrefslogtreecommitdiff
path: root/src/test/java/au/id/zancanaro/javacheck/state/queue/commands/Peek.java
blob: cd9589e21745abf6f6fbf95e34116fabe1f22e93 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package au.id.zancanaro.javacheck.state.queue.commands;

import au.id.zancanaro.javacheck.state.Command;
import au.id.zancanaro.javacheck.state.queue.QueueState;

import static org.junit.Assert.assertEquals;

public class Peek<T> extends Command<QueueState<T>, Void, T> {
    @Override
    public boolean preCondition(QueueState<T> state, Void args) {
        return state != null && !state.getAbstractQueue().isEmpty();
    }

    @Override
    public T runCommand(QueueState<T> state, Void args) {
        return state.getConcreteQueue().peek();
    }

    @Override
    public void postCondition(QueueState<T> oldState, QueueState<T> newState, Void args, T result) {
        assertEquals(oldState.getAbstractQueue().get(0), result);
    }
}