// Compile module A/2
result = getCompilerTask(Arrays.asList("-src", getPackagePath()+"/modules/multiversion/a2"),
"modules/multiversion/a2/a/module.ceylon", "modules/multiversion/a2/a/package.ceylon", "modules/multiversion/a2/a/A.ceylon").call();
Assert.assertEquals(Boolean.TRUE, result);
ErrorCollector collector = new ErrorCollector();
// Compile module cImportsATwice which imports both A/1 and A/2
result = getCompilerTask(Arrays.asList("-src", getPackagePath()+"/modules/multiversion/c"),
collector,
"modules/multiversion/c/cImportsATwice/module.ceylon", "modules/multiversion/c/cImportsATwice/C.ceylon").call();
Assert.assertEquals(Boolean.FALSE, result);
compareErrors(collector.get(Diagnostic.Kind.ERROR),
new CompilerError(20, "module (transitively) imports conflicting versions of dependency 'a': version '1' and version '2'"),
new CompilerError(20, "source code imports two different versions of module 'a': version \"1\" and version \"2\""),
new CompilerError(22, "duplicate module import: 'a'")
);
}