public void modifyEncapsulatedObject_viaTheEncapsulator() {
ArmEncapsulator encapsulator = Arm.armWeight(10);
encapsulator.asArm();
// Trying to modify state after encapsulation.
encapsulator.withArmLength(20);
}
@Test (expected = IllegalStateException.class)
public void modifyEncapsulatedObject_viaTheBuilder() {
ArmBuilder builder = Arm.build();