mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-29 00:55:43 +00:00
Use inside for new year province assertions (#7361)
This commit is contained in:
+46
-43
@@ -161,79 +161,82 @@ class NewYearActionTest extends AnyFlatSpec with Matchers with BeforeAndAfterEac
|
||||
it should "not increase gold or food for a province with insufficient support" in {
|
||||
val result = NewYearAction(gs).immediateExecute
|
||||
|
||||
val lowSupportAfter =
|
||||
result.changedProvinces.find(_.provinceId == lowSupportProvince.id).get.asInstanceOf[ChangedProvinceC]
|
||||
lowSupportAfter.foodDelta shouldBe None
|
||||
lowSupportAfter.goldDelta shouldBe None
|
||||
inside(result.changedProvinces.collectFirst {
|
||||
case cp: ChangedProvinceC if cp.provinceId == lowSupportProvince.id => cp
|
||||
}) {
|
||||
case Some(lowSupportAfter) =>
|
||||
lowSupportAfter.foodDelta shouldBe None
|
||||
lowSupportAfter.goldDelta shouldBe None
|
||||
}
|
||||
}
|
||||
|
||||
it should "increase gold for a province with sufficient support" in {
|
||||
val result = NewYearAction(gs).immediateExecute
|
||||
|
||||
val highSupportAfter =
|
||||
result.changedProvinces.find(_.provinceId == highSupportProvince.id).get.asInstanceOf[ChangedProvinceC]
|
||||
highSupportAfter.goldDelta should contain((40 * highSupportProvince.economy).toInt)
|
||||
inside(result.changedProvinces.collectFirst {
|
||||
case cp: ChangedProvinceC if cp.provinceId == highSupportProvince.id => cp
|
||||
}) {
|
||||
case Some(highSupportAfter) =>
|
||||
highSupportAfter.goldDelta should contain((40 * highSupportProvince.economy).toInt)
|
||||
}
|
||||
}
|
||||
|
||||
it should "increase food for a province with sufficient support" in {
|
||||
val result = NewYearAction(gs).immediateExecute
|
||||
|
||||
val highSupportAfter =
|
||||
result.changedProvinces.find(_.provinceId == highSupportProvince.id).get.asInstanceOf[ChangedProvinceC]
|
||||
highSupportAfter.foodDelta should contain((60 * highSupportProvince.agriculture).toInt)
|
||||
inside(result.changedProvinces.collectFirst {
|
||||
case cp: ChangedProvinceC if cp.provinceId == highSupportProvince.id => cp
|
||||
}) {
|
||||
case Some(highSupportAfter) =>
|
||||
highSupportAfter.foodDelta should contain((60 * highSupportProvince.agriculture).toInt)
|
||||
}
|
||||
}
|
||||
|
||||
it should "degrade the economy in all provinces" in {
|
||||
val result = NewYearAction(gs).immediateExecute
|
||||
|
||||
val oldAndNew = provincesMap.values.map(p =>
|
||||
(p, result.changedProvinces.find(_.provinceId == p.id).get.asInstanceOf[ChangedProvinceC])
|
||||
)
|
||||
|
||||
for (oldProv, newProv) <- oldAndNew do {
|
||||
newProv.economyDelta shouldBe None
|
||||
newProv.economyDevastationDelta should contain(0.15 * oldProv.economy)
|
||||
}
|
||||
for oldProv <- provincesMap.values do
|
||||
inside(result.changedProvinces.collectFirst { case cp: ChangedProvinceC if cp.provinceId == oldProv.id => cp }) {
|
||||
case Some(newProv) =>
|
||||
newProv.economyDelta shouldBe None
|
||||
newProv.economyDevastationDelta should contain(0.15 * oldProv.economy)
|
||||
}
|
||||
}
|
||||
|
||||
it should "degrade the agriculture in all provinces" in {
|
||||
val result = NewYearAction(gs).immediateExecute
|
||||
|
||||
val oldAndNew = provincesMap.values.map(p =>
|
||||
(p, result.changedProvinces.find(_.provinceId == p.id).get.asInstanceOf[ChangedProvinceC])
|
||||
)
|
||||
|
||||
for (oldProv, newProv) <- oldAndNew do {
|
||||
newProv.agricultureDelta shouldBe None
|
||||
newProv.agricultureDevastationDelta should contain(
|
||||
0.15 * oldProv.agriculture
|
||||
)
|
||||
}
|
||||
for oldProv <- provincesMap.values do
|
||||
inside(result.changedProvinces.collectFirst { case cp: ChangedProvinceC if cp.provinceId == oldProv.id => cp }) {
|
||||
case Some(newProv) =>
|
||||
newProv.agricultureDelta shouldBe None
|
||||
newProv.agricultureDevastationDelta should contain(
|
||||
0.15 * oldProv.agriculture
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
it should "degrade the infrastructure in all provinces" in {
|
||||
val result = NewYearAction(gs).immediateExecute
|
||||
|
||||
val oldAndNew = provincesMap.values.map(p =>
|
||||
(p, result.changedProvinces.find(_.provinceId == p.id).get.asInstanceOf[ChangedProvinceC])
|
||||
)
|
||||
|
||||
for (oldProv, newProv) <- oldAndNew do {
|
||||
newProv.infrastructureDelta shouldBe None
|
||||
newProv.infrastructureDevastationDelta should contain(
|
||||
0.15 * oldProv.infrastructure
|
||||
)
|
||||
}
|
||||
for oldProv <- provincesMap.values do
|
||||
inside(result.changedProvinces.collectFirst { case cp: ChangedProvinceC if cp.provinceId == oldProv.id => cp }) {
|
||||
case Some(newProv) =>
|
||||
newProv.infrastructureDelta shouldBe None
|
||||
newProv.infrastructureDevastationDelta should contain(
|
||||
0.15 * oldProv.infrastructure
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
it should "degrade the support in all provinces" in {
|
||||
val result = NewYearAction(gs).immediateExecute
|
||||
|
||||
val oldAndNew = provincesMap.values.map(p =>
|
||||
(p, result.changedProvinces.find(_.provinceId == p.id).get.asInstanceOf[ChangedProvinceC])
|
||||
)
|
||||
|
||||
for (oldProv, newProv) <- oldAndNew do newProv.supportDelta should contain(-0.15 * oldProv.support)
|
||||
for oldProv <- provincesMap.values do
|
||||
inside(result.changedProvinces.collectFirst { case cp: ChangedProvinceC if cp.provinceId == oldProv.id => cp }) {
|
||||
case Some(newProv) =>
|
||||
newProv.supportDelta should contain(-0.15 * oldProv.support)
|
||||
}
|
||||
}
|
||||
|
||||
it should "degrade the armament of all battalions" in {
|
||||
|
||||
Reference in New Issue
Block a user