package com.spotify.heroic.grammar; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.runners.MockitoJUnitRunner; import java.util.function.BiFunction; import java.util.function.Consumer; import java.util.stream.Stream; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.verify; @RunWith(MockitoJUnitRunner.class) public class MinusExpressionTest extends AbstractExpressionTest<MinusExpression> { @Override protected MinusExpression build(final Context ctx) { return new MinusExpression(ctx, a, b); } @Override protected BiFunction<Expression.Visitor<Void>, MinusExpression, Void> visitorMethod() { return Expression.Visitor::visitMinus; } @Override protected Stream<Consumer<MinusExpression>> accessors() { return Stream.of(accessorTest(a, MinusExpression::getLeft), accessorTest(b, MinusExpression::getRight)); } @Override public void evalTest() { super.evalTest(); verify(a).eval(scope); verify(b).eval(scope); } }