Дополнил замену. Если файлы выделены, но не совпадают по именам с уже имеющимися в группе тестами, будут добавлены как новые тесты.

This commit is contained in:
2024-03-05 19:52:49 +03:00
parent a4bca9c33b
commit da3f624cf2
2 changed files with 33 additions and 12 deletions

2
.idea/workspace.xml generated
View File

@@ -7,7 +7,7 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ReplaceTestsFromFiles.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ReplaceTestsFromFiles.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ReplaceTestsFromFiles.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ReplaceTestsFromFiles.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />

View File

@@ -22,6 +22,7 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
Group group; Group group;
LinkedHashMap<Integer, Test> oldTests; LinkedHashMap<Integer, Test> oldTests;
Vector<Test> replaceTests; Vector<Test> replaceTests;
Vector<Test> newTests;
//-- //--
@Override @Override
public String getIconPath() { public String getIconPath() {
@@ -65,44 +66,64 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
//-- //--
oldTests = new LinkedHashMap<>(); oldTests = new LinkedHashMap<>();
Vector<String> testForReplaceNames = new Vector<>(); Vector<String> testForReplaceNames = new Vector<>();
Vector<String> newTestsNames = new Vector<>();
//-- //--
for (String name: filesByNames.keySet()){ for (String name : filesByNames.keySet()) {
boolean exists = false; boolean exists = false;
for (Test test: server.db.tests.Data.values()){ for (Test test : server.db.tests.Data.values()) {
if ((test.group_id==group.id)&&test.description.equals(name)){ if ((test.group_id == group.id) && test.description.equals(name)) {
exists=true; exists = true;
//-- //--
oldTests.put(test.id, test); oldTests.put(test.id, test);
testForReplaceNames.add(name); testForReplaceNames.add(name);
break; break;
} }
} }
if (!exists)
newTestsNames.add(name);
} }
//-- //--
if (oldTests.size()==0){ if (oldTests.size() == 0) {
Log.Writeln_("Не найдено тестов на замену."); Log.Writeln_("Не найдено тестов на замену.");
return false; return false;
} }
//-- //--
if (UI.Question("Тесты\n"+String.join("\n", testForReplaceNames)+"\nбудут заменены. Продолжить")){ if (UI.Question(
testForReplaceNames.size() + " тестов будет заменено,\n" +
newTestsNames.size() + " тестов будет добавлено.\n" +
"Продолжить"
)) {
replaceTests = new Vector<>(); replaceTests = new Vector<>();
Pass_2021 createTestPass = passes.get(PassCode_2021.CreateTestFromFile); Pass_2021 createTestPass = passes.get(PassCode_2021.CreateTestFromFile);
for (Test old_test: oldTests.values()){ for (Test old_test : oldTests.values()) {
File file= filesByNames.get(old_test.description); File file = filesByNames.get(old_test.description);
if (createTestPass.Do(file, group)){ if (createTestPass.Do(file, group)) {
Test new_test = (Test) createTestPass.target; Test new_test = (Test) createTestPass.target;
replaceTests.add(new_test); replaceTests.add(new_test);
new_test.id = old_test.id; new_test.id = old_test.id;
} }
} }
//--
newTests = new Vector<>();
for (String name : newTestsNames) {
File file = filesByNames.get(name);
if (createTestPass.Do(file, group)) {
Test new_test = (Test) createTestPass.target;
newTests.add(new_test);
}
}
return true; return true;
}; }
;
return false; return false;
} }
//- //-
@Override @Override
protected void ServerAction() throws Exception { protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.ReplaceTestsCodes, null, replaceTests)); if (!replaceTests.isEmpty())
Command(new ServerExchangeUnit_2021(ServerCode.ReplaceTestsCodes, null, replaceTests));
if (!newTests.isEmpty())
Command(new ServerExchangeUnit_2021(ServerCode.PublishObjects, null, newTests));
} }
@Override @Override
protected void performFinish() throws Exception { protected void performFinish() throws Exception {