package is.L42.connected.withSafeOperators; import static helpers.TestHelper.getClassB; import helpers.TestHelper; import platformSpecific.javaTranslation.Resources; import java.util.Arrays; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameter; import ast.Ast; import ast.Ast.Path; import ast.ExpCore.ClassB; import programReduction.Program; public class TestIntrospection { @RunWith(Parameterized.class) public static class TestGiveInfoType { @Parameter(0) public String _cb; @Parameter(1) public String _path; @Parameter(2) public int methNum; @Parameter(3) public int typeNum; @Parameter(4) public String _expected; @Parameterized.Parameters public static List<Object[]> createData() { return Arrays.asList(new Object[][] { {"{B:{method Void m()}}","B",1,0, "{Kind:{//@stringU\n//TypeReport\n}" +"TypeKind:{//@stringU\n//Normal\n}" +"Mdf:{//@stringU\n//Immutable\n}" //+"ResolvedMdf:{//@stringU\n//Immutable\n}" +"Path:{//@Void\n}" +"ResolvedPath:{//@Void\n}" +"Ph:{//@stringU\n//false\n}" +"ResolvedPh:{//@stringU\n//false\n}" +"Suffix:{//@stringU\n//\n}" //+"ParName:{//@stringU\n//\n}" +"Doc:{}" +"AllAsString:{//@stringU\n//Void\n}}" //------------------------ },{"{B:{method Void m(Any x)}}","B",1,1, "{ Kind:{//@stringU\n//TypeReport\n}" +"TypeKind:{//@stringU\n//Normal\n}" +"Mdf:{//@stringU\n//Immutable\n}" //+"ResolvedMdf:{//@stringU\n//Immutable\n}" +"Path:{//@Any\n}" +"ResolvedPath:{//@Any\n}" +"Ph:{//@stringU\n//false\n}" +"ResolvedPh:{//@stringU\n//false\n}" +"Suffix:{//@stringU\n//\n}" //+"ParName:{//@stringU\n//x\n}" +"Doc:{}" +"AllAsString:{//@stringU\n//Any\n}}" }});} @Test public void test() { ClassB cb=getClassB(_cb); List<Ast.C> path=TestHelper.cs(_path); ClassB expected=getClassB(_expected); ClassB result=Introspection.giveInfoType(null,Program.emptyLibraryProgram(),cb,path,methNum,typeNum); TestHelper.assertEqualExp(expected,result); } } }