Дополнил замену. Если файлы выделены, но не совпадают по именам с уже имеющимися в группе тестами, будут добавлены как новые тесты.
This commit is contained in:
2
.idea/workspace.xml
generated
2
.idea/workspace.xml
generated
@@ -7,7 +7,7 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<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" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
||||
@@ -22,6 +22,7 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
|
||||
Group group;
|
||||
LinkedHashMap<Integer, Test> oldTests;
|
||||
Vector<Test> replaceTests;
|
||||
Vector<Test> newTests;
|
||||
//--
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
@@ -65,44 +66,64 @@ public class ReplaceTestsFromFiles extends TestingSystemPass<Vector<Test>> {
|
||||
//--
|
||||
oldTests = new LinkedHashMap<>();
|
||||
Vector<String> testForReplaceNames = new Vector<>();
|
||||
Vector<String> newTestsNames = new Vector<>();
|
||||
//--
|
||||
for (String name: filesByNames.keySet()){
|
||||
for (String name : filesByNames.keySet()) {
|
||||
boolean exists = false;
|
||||
for (Test test: server.db.tests.Data.values()){
|
||||
if ((test.group_id==group.id)&&test.description.equals(name)){
|
||||
exists=true;
|
||||
for (Test test : server.db.tests.Data.values()) {
|
||||
if ((test.group_id == group.id) && test.description.equals(name)) {
|
||||
exists = true;
|
||||
//--
|
||||
oldTests.put(test.id, test);
|
||||
testForReplaceNames.add(name);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!exists)
|
||||
newTestsNames.add(name);
|
||||
}
|
||||
//--
|
||||
if (oldTests.size()==0){
|
||||
if (oldTests.size() == 0) {
|
||||
Log.Writeln_("Не найдено тестов на замену.");
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
if (UI.Question("Тесты\n"+String.join("\n", testForReplaceNames)+"\nбудут заменены. Продолжить")){
|
||||
if (UI.Question(
|
||||
testForReplaceNames.size() + " тестов будет заменено,\n" +
|
||||
newTestsNames.size() + " тестов будет добавлено.\n" +
|
||||
"Продолжить"
|
||||
)) {
|
||||
replaceTests = new Vector<>();
|
||||
Pass_2021 createTestPass = passes.get(PassCode_2021.CreateTestFromFile);
|
||||
for (Test old_test: oldTests.values()){
|
||||
File file= filesByNames.get(old_test.description);
|
||||
if (createTestPass.Do(file, group)){
|
||||
for (Test old_test : oldTests.values()) {
|
||||
File file = filesByNames.get(old_test.description);
|
||||
if (createTestPass.Do(file, group)) {
|
||||
Test new_test = (Test) createTestPass.target;
|
||||
replaceTests.add(new_test);
|
||||
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 false;
|
||||
}
|
||||
//-
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
if (!replaceTests.isEmpty())
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.ReplaceTestsCodes, null, replaceTests));
|
||||
if (!newTests.isEmpty())
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.PublishObjects, null, newTests));
|
||||
}
|
||||
@Override
|
||||
protected void performFinish() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user