@Test
public void addDelegatesToFieldAddition() {

    final Scalar<Object> first = new Scalar.Default<>(new Object());
    final Scalar<Object> second = new Scalar.Default<>(new Object());
    final MkAddition<Object> add = new MkAddition<>(new Object());
    final SpyField<Object> field = new SpyField<>(
        new MkField<Object>(new Object(), add)
    );
    final List<Scalar<Object>> operands = Arrays.asList(first, second, first);
    new Add<>(operands).value(field);
    MatcherAssert.assertThat(
        field.calls().additioned(), Matchers.is(true)
    );
    MatcherAssert.assertThat(
        add.neutraled(), Matchers.is(true)
    );
    MatcherAssert.assertThat(
        add.added(), Matchers.is(operands.size())
    );
}