@Test public void testGetCarelessCleanupListWithoutExtraRules() { /* 重新產生設定檔 */ SmellSettings smellSettings = new SmellSettings(UserDefinedMethodAnalyzer.SETTINGFILEPATH); // 因為Setup時候已經產出一個有ExtraRule的設定檔,現在要特地把ExtraRule移除掉來測試。 smellSettings.removeExtraRule( SmellSettings.SMELL_CARELESSCLEANUP, SmellSettings.EXTRARULE_CARELESSCLEANUP_DETECTISRELEASEIOCODEINDECLAREDMETHOD); smellSettings.writeXMLFile(UserDefinedMethodAnalyzer.SETTINGFILEPATH); // 重新產生Visitor,使得設定值有存入CarelessCleaupVisitor carelessCleanupVisitor = new CarelessCleanupVisitor2(compilationUnit); int carelessCleanupSmellCount = 0; assertNotNull(compilationUnit); assertNotNull(carelessCleanupVisitor); compilationUnit.accept(carelessCleanupVisitor); if (carelessCleanupVisitor.getCarelessCleanupList() != null) { carelessCleanupSmellCount = carelessCleanupVisitor.getCarelessCleanupList().size(); } assertEquals( colloectBadSmellListContent(carelessCleanupVisitor.getCarelessCleanupList()), 28, carelessCleanupSmellCount); }
@Test public void testGetCarelessCleanupList() { int carelessCleanupSmellCount = 0; assertNotNull(compilationUnit); assertNotNull(carelessCleanupVisitor); compilationUnit.accept(carelessCleanupVisitor); if (carelessCleanupVisitor.getCarelessCleanupList() != null) { carelessCleanupSmellCount = carelessCleanupVisitor.getCarelessCleanupList().size(); } assertEquals( colloectBadSmellListContent(carelessCleanupVisitor.getCarelessCleanupList()), 31, carelessCleanupSmellCount); }
@Test public void testGetCarelessCleanupListWithUserDefiendOnlyMethods() throws Exception { // 產生設定檔 SmellSettings smellSettings = new SmellSettings(UserDefinedMethodAnalyzer.SETTINGFILEPATH); smellSettings.addCarelessCleanupPattern("rain", true); smellSettings.writeXMLFile(UserDefinedMethodAnalyzer.SETTINGFILEPATH); // 重新產生Visitor,使得設定值有存入CarelessCleaupVisitor carelessCleanupVisitor = new CarelessCleanupVisitor2(compilationUnit); // 偵測結果 int carelessCleanupSmellCount = 0; assertNotNull(compilationUnit); assertNotNull(carelessCleanupVisitor); compilationUnit.accept(carelessCleanupVisitor); if (carelessCleanupVisitor.getCarelessCleanupList() != null) { carelessCleanupSmellCount = carelessCleanupVisitor.getCarelessCleanupList().size(); } assertEquals( colloectBadSmellListContent(carelessCleanupVisitor.getCarelessCleanupList()), 33, carelessCleanupSmellCount); }