package org.xpect.tests.xjm;
import java.lang.reflect.Constructor;
import org.eclipse.xtext.junit4.InjectWith;
import org.eclipse.xtext.junit4.XtextRunner;
import org.junit.Assert;
import org.junit.runner.RunWith;
import org.xpect.XpectInjectorProvider;
import org.xpect.XpectJavaModel;
import org.xpect.util.XpectJavaModelManager;
@InjectWith(XpectInjectorProvider.class)
@RunWith(XtextRunner.class)
public abstract class AbstractXjmTest {
protected void assertXjm(Class<?> clazz) {
try {
XpectJavaModel javaModel = XpectJavaModelManager.createJavaModel(clazz);
Constructor<?> constructor = clazz.getDeclaredConstructor();
constructor.setAccessible(true);
String expected = constructor.newInstance().toString();
String actual = javaModel.toString();
Assert.assertEquals(expected.trim(), actual.trim());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}