@@ -0,0 +1,2302 @@
+package org.modelmapper.bugs;%0A%0Aimport static org.testng.Assert.*;%0A%0Aimport java.util.Arrays;%0Aimport java.util.List;%0A%0Aimport org.modelmapper.AbstractTest;%0Aimport org.modelmapper.PropertyMap;%0Aimport org.testng.annotations.Test;%0A%0A/**%0A * http://code.google.com/p/modelmapper/issues/detail?id=18%0A * %0A * Disabled for now since this does not appear to be a bug.%0A */%0A@Test(enabled = false)%0Apublic class GC18 extends AbstractTest %7B%0A  static class A %7B%0A    List%3CSubA%3E subs;%0A%0A    public List%3CSubA%3E getSubs() %7B%0A      return subs;%0A    %7D%0A  %7D%0A%0A  static class SubA %7B%0A    String text;%0A    String name;%0A%0A    public String getText() %7B%0A      return text;%0A    %7D%0A%0A    public String getName() %7B%0A      return name;%0A    %7D%0A  %7D%0A%0A  static class B %7B%0A    List%3CSubB%3E subz;%0A%0A    public void setSubz(List%3CSubB%3E subz) %7B%0A      this.subz = subz;%0A    %7D%0A  %7D%0A%0A  static class SubB %7B%0A    SubSubB sub;%0A%0A    public SubSubB getSub() %7B%0A      return sub;%0A    %7D%0A%0A    public void setSub(SubSubB sub) %7B%0A      this.sub = sub;%0A    %7D%0A  %7D%0A%0A  static class SubSubB %7B%0A    String otherText;%0A    String otherName;%0A%0A    public void setOtherName(String otherName) %7B%0A      this.otherName = otherName;%0A    %7D%0A%0A    public void setOtherText(String otherText) %7B%0A      this.otherText = otherText;%0A    %7D%0A  %7D%0A%0A  public void test() %7B%0A    modelMapper.addMappings(new PropertyMap%3CSubA, SubB%3E() %7B%0A      @Override%0A      protected void configure() %7B%0A        map().getSub().setOtherName(source.getName());%0A        map().getSub().setOtherText(source.getText());%0A      %7D%0A    %7D);%0A%0A    modelMapper.addMappings(new PropertyMap%3CA, B%3E() %7B%0A      @Override%0A      protected void configure() %7B%0A        map(source.getSubs()).setSubz(null);%0A      %7D%0A    %7D);%0A%0A    SubA subA1 = new SubA();%0A    subA1.name = %22name1%22;%0A    subA1.text = %22text1%22;%0A    SubB subB1 = modelMapper.map(subA1, SubB.class);%0A    assertEquals(subA1.name, subB1.sub.otherName);%0A    assertEquals(subA1.text, subB1.sub.otherText);%0A%0A    SubA subA2 = new SubA();%0A    subA2.name = %22name2%22;%0A    subA2.text = %22text2%22;%0A    SubB subB2 = modelMapper.map(subA2, SubB.class);%0A    assertEquals(subA2.name, subB2.sub.otherName);%0A    assertEquals(subA2.text, subB2.sub.otherText);%0A%0A    A a = new A();%0A    a.subs = Arrays.asList(subA1, subA2);%0A%0A    B b = modelMapper.map(a, B.class);%0A    assertFalse(b.subz.get(0).equals(b.subz.get(1)));%0A  %7D%0A%7D%0A

Test for googlecode issue #18