MultIdentity implements Scalar<T> { @Override public T value(final Field<T> field) { return field.multiplication().neutral(); }  @Override T value(final Field<T> field);  }
@Test public void multIdentityDelegatesToFieldMultiplication() { final MkMultiplication<Object> mult = new MkMultiplication<>(new Object()); final SpyField<Object> field = new SpyField<>( new MkField<>(new Object(), mult) ); new MultIdentity<>().value(field); MatcherAssert.assertThat( field.calls().multiplicationed(), Matchers.is(true) ); MatcherAssert.assertThat( mult.neutraled(), Matchers.is(true) ); }