@Test
public void multiplicationDelegatesToFieldMultiplication() {

    final Scalar<Object> first = new Scalar.Default<>(new Object());
    final Scalar<Object> second = new Scalar.Default<>(new Object());
    final MkMultiplication<Object> mult = new MkMultiplication<>(new Object());
    final SpyField<Object> field = new SpyField<>(
        new MkField<Object>(new Object(), mult)
    );
    final List<Scalar<Object>> operands = Arrays.asList(first, second);
    new Multiplication<>(operands).value(field);
    MatcherAssert.assertThat(
        field.calls().multiplicationed(), Matchers.is(true)
    );
    MatcherAssert.assertThat(
        mult.neutraled(), Matchers.is(true)
    );
    MatcherAssert.assertThat(
        mult.multiplied(), Matchers.is(operands.size())
    );
}