@test
operation collectEClassNames() {
	assertEquals(ecore::EClass.all.name.size(), 20);
}

@test
operation collectEClassUnknownProperties() {
	assertError(ecore::EClass.all.unknownProperty);
}

@test
operation collectMixedCollectionProperties() {
	var col : Sequence;
	col.addAll(ecore::EClass.all);
	col.addAll(ecore::EPackage.all);
	assertEquals(21, col.name.size());
}