Commit 8490152e authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ added test mode to standalone for testing specific issues

parent 3253b82a
Loading
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ public class Standalone {
	private boolean recursive = true;

	enum MODE {
		test,
		all, 
		list, debug, evaluateOCL, 
		validateOCL, validate, 
@@ -125,6 +126,43 @@ public class Standalone {
//		app.path = "examples/validation/Naming.tdltx.tdl";
//		app.modes.add(MODE.validateOCL);

		if (app.selected(MODE.test)) {
			String extension = ".tdlan2";
//			extension = ".tdltx";
			ResourceSet resSet = new ResourceSetImpl();
			resSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(extension, new tdlResourceFactoryImpl());
			resSet.getPackageRegistry().put(tdlPackage.eNS_URI, tdlPackage.eINSTANCE);
			Resource res = resSet.createResource(URI.createURI("path"+extension));
			Package p = tdlFactory.eINSTANCE.createPackage();
			p.setName("TestSuite");
			var s = tdlFactory.eINSTANCE.createSimpleDataType();
			s.setName("String");
			p.getPackagedElement().add(s);
			var m = tdlFactory.eINSTANCE.createStructuredDataType();
			m.setName("Type_A");
			var mm = tdlFactory.eINSTANCE.createMember();
			mm.setName("_name");
			mm.setDataType(s);
			m.getMember().add(mm);
			p.getPackagedElement().add(m);
			var i = tdlFactory.eINSTANCE.createStructuredDataInstance();
			i.setName("Instance_A");
			i.setDataType(m);
			var ma = tdlFactory.eINSTANCE.createMemberAssignment();
			ma.setMember(mm);
			var lv = tdlFactory.eINSTANCE.createLiteralValueUse();
			lv.setValue("a2");
			ma.setMemberSpec(lv);
			i.getMemberAssignment().add(ma);
			p.getPackagedElement().add(i);
			res.getContents().add(p);
			try {
				res.save(null);
	    	} catch (IOException e) {
				e.printStackTrace();
	    	}
		}
		
		if (app.selected(MODE.list)) {
			String path = pathOrDefault(app.path, "examples/basics");
//			app.processElements(path, app::listElements);