@@ -0,0 +1,1638 @@
+package org.modelmapper.functional.config;%0D%0A%0D%0Aimport org.modelmapper.AbstractTest;%0D%0Aimport org.testng.annotations.BeforeMethod;%0D%0Aimport org.testng.annotations.Test;%0D%0A%0D%0Aimport static org.testng.Assert.assertEquals;%0D%0Aimport static org.testng.Assert.assertNotSame;%0D%0Aimport static org.testng.Assert.assertSame;%0D%0A%0D%0A@Test%0D%0Apublic class DeepCopyEnabledTest extends AbstractTest %7B%0D%0A  static class Source %7B%0D%0A    Property property;%0D%0A%0D%0A    public Source(Property property) %7B%0D%0A      this.property = property;%0D%0A    %7D%0D%0A  %7D%0D%0A  static class Destination %7B%0D%0A    Property property;%0D%0A  %7D%0D%0A%0D%0A%0D%0A  static class Property %7B%0D%0A    String value;%0D%0A%0D%0A    public Property() %7B%0D%0A    %7D%0D%0A%0D%0A    public Property(String value) %7B%0D%0A      this.value = value;%0D%0A    %7D%0D%0A  %7D%0D%0A%0D%0A  public void shouldDeepCopy() %7B%0D%0A    modelMapper.getConfiguration().setDeepCopyEnabled(true);%0D%0A%0D%0A    Source source = new Source(new Property(%22text%22));%0D%0A    Destination destination = modelMapper.map(source, Destination.class);%0D%0A%0D%0A    assertNotSame(destination.property, source.property);%0D%0A    assertEquals(destination.property.value, source.property.value);%0D%0A  %7D%0D%0A%0D%0A  public void shouldNotDeepCopyByDefault() %7B%0D%0A    Source source = new Source(new Property(%22text%22));%0D%0A    Destination destination = modelMapper.map(source, Destination.class);%0D%0A%0D%0A    assertSame(destination.property, source.property);%0D%0A  %7D%0D%0A%0D%0A  public void shouldNotDeepCopy() %7B%0D%0A    modelMapper.getConfiguration().setDeepCopyEnabled(false);%0D%0A%0D%0A    Source source = new Source(new Property(%22text%22));%0D%0A    Destination destination = modelMapper.map(source, Destination.class);%0D%0A%0D%0A    assertSame(destination.property, source.property);%0D%0A  %7D%0D%0A%7D%0D%0A

Add unit test for deep copy