String _string = _builder_1.toString();
MyValidationHelper.ValidationResult _validate = this.myValidationHelper.validate(model);
String _issuesToString = _validate.issuesToString();
String _trim = _issuesToString.trim();
Assert.assertEquals(_string, _trim);
InMemoryFileSystemAccess _inMemoryFileSystemAccess = new InMemoryFileSystemAccess();
final InMemoryFileSystemAccess fsa = _inMemoryFileSystemAccess;
Resource _eResource = model.eResource();
this.generatorDslToJava.doGenerate(_eResource, fsa);
Map<String,CharSequence> _textFiles = fsa.getTextFiles();
int _size = _textFiles.size();
Assert.assertEquals(1, _size);
final String topClonerJavaFileName = (IFileSystemAccess.DEFAULT_OUTPUT + "a/b/c/cloners/BookCloner987.java");
Map<String,CharSequence> _textFiles_1 = fsa.getTextFiles();
boolean _containsKey = _textFiles_1.containsKey(topClonerJavaFileName);
Assert.assertTrue(_containsKey);
StringConcatenation _builder_2 = new StringConcatenation();
_builder_2.append("package a.b.c.cloners;");
_builder_2.newLine();
_builder_2.append("public class BookCloner987 {");
_builder_2.newLine();
_builder_2.append("\t");
_builder_2.append("public a.b.m2.Book apply(a.b.m2.Book other) {");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("if (other == null) return null;");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("a.b.m2.Book it = new a.b.m2.Book();");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("it.setName(other.getName());");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("it.setAuthor(other.getAuthor());");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("it.setSections(sectionsCollectionCloner(it.getSections(), other.getSections()));");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("return it;");
_builder_2.newLine();
_builder_2.append("\t");
_builder_2.append("}");
_builder_2.newLine();
_builder_2.append("\t");
_builder_2.newLine();
_builder_2.append("\t");
_builder_2.append("private java.util.List<a.b.m2.Section> sectionsCollectionCloner(java.util.List<a.b.m2.Section> thisCollection, java.util.List<a.b.m2.Section> otherCollection) {");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("if (otherCollection == null) return null;");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("if (thisCollection == null) thisCollection = new java.util.ArrayList<a.b.m2.Section>();");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("for (a.b.m2.Section otherCollectionItem : otherCollection) {");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("thisCollection.add(sectionsCloner.apply(otherCollectionItem));");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("}");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("return thisCollection;");
_builder_2.newLine();
_builder_2.append("\t");
_builder_2.append("}");
_builder_2.newLine();
_builder_2.append("\t");
_builder_2.newLine();
_builder_2.append("\t");
_builder_2.append("private final SectionsCloner sectionsCloner = new SectionsCloner();");
_builder_2.newLine();
_builder_2.append("\t");
_builder_2.append("public static class SectionsCloner {");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("public a.b.m2.Section apply(a.b.m2.Section other) {");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("if (other == null) return null;");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("a.b.m2.Section it = new a.b.m2.Section();");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("it.setName(other.getName());");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("it.setDescription(other.getDescription());");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("it.setParagraphs(paragraphsCollectionCloner(it.getParagraphs(), other.getParagraphs()));");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("return it;");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("}");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("private java.util.Set<a.b.m2.Paragraph> paragraphsCollectionCloner(java.util.Set<a.b.m2.Paragraph> thisCollection, java.util.Set<a.b.m2.Paragraph> otherCollection) {");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("if (otherCollection == null) return null;");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("if (thisCollection == null) thisCollection = new java.util.HashSet<a.b.m2.Paragraph>();");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("for (a.b.m2.Paragraph otherCollectionItem : otherCollection) {");
_builder_2.newLine();
_builder_2.append("\t\t\t\t");
_builder_2.append("thisCollection.add(paragraphsCloner.apply(otherCollectionItem));");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("}");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("return thisCollection;");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("}");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("private final ParagraphsCloner paragraphsCloner = new ParagraphsCloner();");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("public static class ParagraphsCloner {");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("public a.b.m2.Paragraph apply(a.b.m2.Paragraph other) {");
_builder_2.newLine();
_builder_2.append("\t\t\t\t");
_builder_2.append("if (other == null) return null;");
_builder_2.newLine();
_builder_2.append("\t\t\t\t");
_builder_2.append("a.b.m2.Paragraph it = new a.b.m2.Paragraph();");
_builder_2.newLine();
_builder_2.append("\t\t\t\t");
_builder_2.append("it.setNumber(other.getNumber());");
_builder_2.newLine();
_builder_2.append("\t\t\t\t");
_builder_2.append("it.setText(other.getText());");
_builder_2.newLine();
_builder_2.append("\t\t\t\t");
_builder_2.append("return it;");
_builder_2.newLine();
_builder_2.append("\t\t\t");
_builder_2.append("}");
_builder_2.newLine();
_builder_2.append("\t\t");
_builder_2.append("}");
_builder_2.newLine();
_builder_2.append("\t");
_builder_2.append("}");
_builder_2.newLine();
_builder_2.append("}");
_builder_2.newLine();
String _string_1 = _builder_2.toString();
Map<String,CharSequence> _textFiles_2 = fsa.getTextFiles();
CharSequence _get = _textFiles_2.get(topClonerJavaFileName);
String _string_2 = _get.toString();
Assert.assertEquals(_string_1, _string_2);
} catch (Throwable _e) {
throw Exceptions.sneakyThrow(_e);