import library TestBlackboxLibrary;

modeltype ECORE "strict" uses ecore('http://www.eclipse.org/emf/2002/Ecore');

transformation blackboxlib_237781(in model : ECORE, out modelOut : ECORE);

main() {
		var name := 'Foo';
		var r := legacyAsRenamedSet(object EClass {}, name);	
		assert fatal (r->asSequence()->at(1).name = name) 
			with log('The java library operation did give expected result');

		var r2 : Set(OclAny) := 'selfString'.legacyOclAnyAsSet();
		assert fatal (r2->asSequence()->at(1) = 'selfString') 
			with log('The java library operation \'legacyOclAnyAsSet\' did give expected result');			
}
