package com.spotify.heroic.grammar; 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.mockito.Mockito.verify; @RunWith(MockitoJUnitRunner.class) public class PlusExpressionTest extends AbstractExpressionTest<PlusExpression> { @Override protected PlusExpression build(final Context ctx) { return new PlusExpression(ctx, a, b); } @Override protected BiFunction<Expression.Visitor<Void>, PlusExpression, Void> visitorMethod() { return Expression.Visitor::visitPlus; } @Override protected Stream<Consumer<PlusExpression>> accessors() { return Stream.of(accessorTest(a, PlusExpression::getLeft), accessorTest(b, PlusExpression::getRight)); } @Override public void evalTest() { super.evalTest(); verify(a).eval(scope); verify(b).eval(scope); } }