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 MultiplyExpressionTest extends AbstractExpressionTest<MultiplyExpression> { @Override protected MultiplyExpression build(final Context ctx) { return new MultiplyExpression(ctx, a, b); } @Override protected BiFunction<Expression.Visitor<Void>, MultiplyExpression, Void> visitorMethod() { return Expression.Visitor::visitMultiply; } @Override protected Stream<Consumer<MultiplyExpression>> accessors() { return Stream.of(accessorTest(a, MultiplyExpression::getLeft), accessorTest(b, MultiplyExpression::getRight)); } @Override public void evalTest() { super.evalTest(); verify(a).eval(scope); verify(b).eval(scope); } }