@Test public void shouldShallowCopyFieldValuesIntoMock() throws Exception { // given from.defaultField = "foo"; from.instancePublicField = new SomeOtherObject(); from.privateField = 1; from.privateTransientField = 2; from.protectedField = 3; assertNotEquals(from.defaultField, to.defaultField); assertNotEquals(from.instancePublicField, to.instancePublicField); assertNotEquals(from.privateField, to.privateField); assertNotEquals(from.privateTransientField, to.privateTransientField); assertNotEquals(from.protectedField, to.protectedField); // when tool.copyToMock(from, to); // then assertEquals(from.defaultField, to.defaultField); assertEquals(from.instancePublicField, to.instancePublicField); assertEquals(from.privateField, to.privateField); assertEquals(from.privateTransientField, to.privateTransientField); assertEquals(from.protectedField, to.protectedField); }
@Test public void shouldCopyValuesOfInheritedFields() throws Exception { // given ((InheritMe) from).privateInherited = "foo"; ((InheritMe) from).protectedInherited = "bar"; assertNotEquals(((InheritMe) from).privateInherited, ((InheritMe) to).privateInherited); assertNotEquals(((InheritMe) from).privateInherited, ((InheritMe) to).privateInherited); // when tool.copyToMock(from, to); // then assertEquals(((InheritMe) from).privateInherited, ((InheritMe) to).privateInherited); assertEquals(((InheritMe) from).privateInherited, ((InheritMe) to).privateInherited); }
@Test public void shouldShallowCopyTransientPrivateFields() throws Exception { // given from.privateTransientField = 1000; assertNotEquals(1000, to.privateTransientField); // when tool.copyToMock(from, to); // then assertEquals(1000, to.privateTransientField); }
@Test public void shouldShallowCopyBasicFinalField() throws Exception { // given assertEquals(100, from.finalField); assertNotEquals(100, to.finalField); // when tool.copyToMock(from, to); // then assertEquals(100, to.finalField); }