private static void assertRelativePaths(File[] baseDirs, Collection<File> files, String[] expected){ List<String> relativePaths = new ArrayList<String>(); for (File file: files){ String path = file.getAbsolutePath(); for(File baseDir:baseDirs){ if(baseDir != null && FileUtil.isAncestor(baseDir, file, false)){ path = FileUtil.getRelativePath(baseDir, file); break; } } relativePaths.add(FileUtil.toSystemIndependentName(path)); } UsefulTestCase.assertSameElements(relativePaths, expected); } }
private void doTestVariantsInner(@NotNull CompletionType type, int count, CheckType checkType, String... variants) { myFixture.complete(type, count); List<String> stringList = myFixture.getLookupElementStrings(); assertNotNull("\nPossibly the single variant has been completed.\nFile after:\n" + myFixture.getFile().getText(), stringList); Collection<String> varList = ContainerUtil.newArrayList(variants); if (checkType == CheckType.ORDERED_EQUALS) { UsefulTestCase.assertOrderedEquals(stringList, variants); } else if (checkType == CheckType.EQUALS) { UsefulTestCase.assertSameElements(stringList, variants); } else if (checkType == CheckType.INCLUDES) { varList.removeAll(stringList); assertTrue("Missing variants: " + varList, varList.isEmpty()); } else if (checkType == CheckType.EXCLUDES) { varList.retainAll(stringList); assertTrue("Unexpected variants: " + varList, varList.isEmpty()); } }
@Override public BnfExpression fun(List<BnfExpression> bnfExpressions) { assertSameElements(ContainerUtil.map(bnfExpressions, BnfIntroduceRuleHandler.RENDER_FUNCTION), "expr2", "expr2+", "expr1 expr2+", "expr1 expr2+ | expr3"); return bnfExpressions.get(2); } });
public static void doVariantsTestInner(CodeInsightTestFixture fixture, CompletionType type, CheckType checkType, String... variants) { fixture.complete(type, 1); List<String> stringList = fixture.getLookupElementStrings(); assertNotNull(stringList); Collection<String> varList = ContainerUtil.newArrayList(variants); if (checkType == EQUALS) { UsefulTestCase.assertSameElements(stringList, variants); } else if (checkType == INCLUDES) { varList.removeAll(stringList); assertTrue("Missing: " + varList + " in " + stringList, varList.isEmpty()); } else if (checkType == EXCLUDES) { varList.retainAll(stringList); assertTrue("Unexpected: " + varList + " in " + stringList, varList.isEmpty()); } }