diff --git a/.gitignore b/.gitignore
index 403ce01bda..fa8fced809 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,7 @@ Mage.Client/target
Mage.Common/target
# Mage.Plugins
+Mage.Plugins/target
Mage.Plugins/Mage.Card.Plugin/target
Mage.Plugins/Mage.Counter.Plugin/target
Mage.Plugins/Mage.Theme.Plugin/target
diff --git a/Mage.Client/pom.xml b/Mage.Client/pom.xml
index fc3c45e717..79867c8906 100644
--- a/Mage.Client/pom.xml
+++ b/Mage.Client/pom.xml
@@ -110,7 +110,7 @@
org.jsoup
jsoup
- 1.13.1
+ 1.14.2
truevfs-profile-base
diff --git a/Mage.Tests/pom.xml b/Mage.Tests/pom.xml
index c0f3083998..55f495d765 100644
--- a/Mage.Tests/pom.xml
+++ b/Mage.Tests/pom.xml
@@ -81,9 +81,6 @@
org.apache.maven.plugins
maven-surefire-plugin
-
- -Dfile.encoding=UTF-8
-
org.apache.maven.plugins
diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/stx/DaemogothTitanTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/stx/DaemogothTitanTest.java
new file mode 100644
index 0000000000..3c1c9209d0
--- /dev/null
+++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/stx/DaemogothTitanTest.java
@@ -0,0 +1,47 @@
+package org.mage.test.cards.single.stx;
+
+import mage.constants.PhaseStep;
+import mage.constants.Zone;
+import org.junit.Test;
+import org.mage.test.serverside.base.CardTestPlayerBaseWithAIHelps;
+
+/**
+ * @author JayDi85
+ */
+public class DaemogothTitanTest extends CardTestPlayerBaseWithAIHelps {
+
+ @Test
+ public void test_Attack_Manual() {
+ // Whenever Daemogoth Titan attacks or blocks, sacrifice a creature.
+ addCard(Zone.BATTLEFIELD, playerA, "Daemogoth Titan"); // 11/10
+ addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears", 1);
+
+ attack(1, playerA, "Daemogoth Titan");
+ addTarget(playerA, "Grizzly Bears");
+
+ setStrictChooseMode(true);
+ setStopAt(1, PhaseStep.END_TURN);
+ execute();
+ assertAllCommandsUsed();
+
+ assertLife(playerB, 20 - 11);
+ assertGraveyardCount(playerA, "Grizzly Bears", 1);
+ }
+
+ @Test
+ public void test_Attack_AI() {
+ // Whenever Daemogoth Titan attacks or blocks, sacrifice a creature.
+ addCard(Zone.BATTLEFIELD, playerA, "Daemogoth Titan"); // 11/10
+ addCard(Zone.BATTLEFIELD, playerA, "Grizzly Bears", 1);
+
+ aiPlayStep(1, PhaseStep.DECLARE_ATTACKERS, playerA);
+
+ setStrictChooseMode(true);
+ setStopAt(1, PhaseStep.END_TURN);
+ execute();
+ assertAllCommandsUsed();
+
+ assertLife(playerB, 20 - 11);
+ assertGraveyardCount(playerA, "Grizzly Bears", 1);
+ }
+}
diff --git a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java
index a4e77c9a2a..cd6def1ac9 100644
--- a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java
+++ b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java
@@ -1683,8 +1683,8 @@ public class TestPlayer implements Player {
mustAttackByAction = true;
madeAttackByAction = true;
this.computerPlayer.selectAttackers(game, attackingPlayerId);
- it.remove();
- break;
+ // play step action will be removed on step end
+ continue;
}
if (action.getTurnNum() == game.getTurnNum() && action.getAction().startsWith("attack:")) {
@@ -1774,8 +1774,8 @@ public class TestPlayer implements Player {
if (action.getTurnNum() == game.getTurnNum() && action.getAction().equals(AI_PREFIX + AI_COMMAND_PLAY_STEP)) {
mustBlockByAction = true;
this.computerPlayer.selectBlockers(source, game, defendingPlayerId);
- actions.remove(action);
- break;
+ // play step action will be removed on step end
+ continue;
}
if (action.getTurnNum() == game.getTurnNum() && action.getAction().startsWith("block:")) {
diff --git a/Mage.Verify/pom.xml b/Mage.Verify/pom.xml
index fdab7c4bd9..91263f642d 100644
--- a/Mage.Verify/pom.xml
+++ b/Mage.Verify/pom.xml
@@ -64,9 +64,6 @@
org.apache.maven.plugins
maven-surefire-plugin
-
- -Dfile.encoding=UTF-8
-
org.apache.maven.plugins
diff --git a/pom.xml b/pom.xml
index 7e1335d59c..91c1340a6c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -51,16 +51,52 @@
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.7
+
+
+
+
+ prepare-agent
+
+
+
+
+ generate-code-coverage-report
+ verify
+
+ report
+
+
+
+
+ report-aggregate
+ verify
+
+ report-aggregate
+
+
+
+
+
org.apache.maven.plugins
maven-surefire-plugin
2.22.2
+
@@ -99,8 +135,24 @@
1.4.49
+ -Dfile.encoding=UTF-8
UTF-8
yyyy-MM-dd'T'HH:mm:ss'Z'
+
+
+ true
+
+
+ Mage.Verify/target/site/jacoco-aggregate/jacoco.xml
+ ${project.basedir}/../${aggregate.report.dir}