Skip to content

Commit 9f838cf

Browse files
committed
Adding tests
1 parent cd365b4 commit 9f838cf

File tree

3 files changed

+197
-103
lines changed

3 files changed

+197
-103
lines changed

src/test/scala/edu/ie3/simbench/convert/ConverterSpec.scala

Lines changed: 0 additions & 103 deletions
This file was deleted.
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
package edu.ie3.simbench.convert
2+
3+
import akka.actor.testkit.typed.scaladsl.{ActorTestKit, TestProbe}
4+
import akka.actor.typed.ActorRef
5+
import edu.ie3.simbench.actor.{Converter, Coordinator, Mutator, WorkerMessage}
6+
import edu.ie3.simbench.actor.Mutator.MutatorMessage
7+
import edu.ie3.test.common.UnitSpec
8+
import org.scalatest.BeforeAndAfterAll
9+
10+
import scala.concurrent.duration.FiniteDuration
11+
12+
class ConverterWithTimeSeriesSpec extends UnitSpec with BeforeAndAfterAll {
13+
val akkaTestKit: ActorTestKit = ActorTestKit()
14+
15+
override protected def afterAll(): Unit = {
16+
akkaTestKit.shutdownTestKit()
17+
super.afterAll()
18+
}
19+
20+
val coordinator: TestProbe[Coordinator.CoordinatorMessage] =
21+
akkaTestKit.createTestProbe[Coordinator.CoordinatorMessage]("coordinator")
22+
val mutator: TestProbe[MutatorMessage] =
23+
akkaTestKit.createTestProbe[Mutator.MutatorMessage]("mutator")
24+
25+
"Converting a full grid model" when {
26+
"including time series" should {
27+
val converter: ActorRef[Converter.ConverterMessage] = akkaTestKit.spawn(
28+
Converter.idle(
29+
Converter.StateData(
30+
"1-LV-rural1--0-no_sw",
31+
"src/test/resources/gridData/1-LV-rural1--0-no_sw",
32+
"http://141.51.193.167/simbench/gui/usecase/download",
33+
failOnExistingFiles = false,
34+
".csv",
35+
"UTF-8",
36+
";",
37+
removeSwitches = false,
38+
20,
39+
createTimeSeries = true,
40+
mutator.ref,
41+
coordinator.ref
42+
)
43+
),
44+
"converter"
45+
)
46+
converter ! Converter.Convert("1-LV-rural1--0-no_sw")
47+
"provide correct amount of converted models" in {
48+
49+
/* Receive 17 time series messages and reply completion */
50+
(1 to 17).foldLeft(List.empty[Mutator.PersistTimeSeries]) {
51+
case (messages, idx) =>
52+
logger.debug("Received {} time series for persistence so far.", idx)
53+
val message = mutator.expectMessageType[Mutator.PersistTimeSeries](
54+
FiniteDuration(60, "s")
55+
)
56+
message.replyTo ! WorkerMessage.TimeSeriesPersisted(
57+
message.timeSeries.getUuid
58+
)
59+
messages :+ message
60+
}
61+
62+
/* Receive all all other awaited messages */
63+
mutator.expectMessageType[Mutator.PersistGridStructure](
64+
FiniteDuration(60, "s")
65+
) match {
66+
case Mutator.PersistGridStructure(
67+
simBenchCode,
68+
nodes,
69+
lines,
70+
transformers2w,
71+
transformers3w,
72+
switches,
73+
measurements,
74+
loads,
75+
fixedFeedIns,
76+
_
77+
) =>
78+
simBenchCode shouldBe "1-LV-rural1--0-no_sw"
79+
nodes.size shouldBe 15
80+
lines.size shouldBe 13
81+
transformers2w.size shouldBe 1
82+
transformers3w.size shouldBe 0
83+
switches.size shouldBe 0
84+
measurements.size shouldBe 0
85+
loads.size shouldBe 13
86+
fixedFeedIns.size shouldBe 4
87+
}
88+
89+
mutator.expectMessageType[Mutator.PersistTimeSeriesMapping](
90+
FiniteDuration(60, "s")
91+
) match {
92+
case Mutator.PersistTimeSeriesMapping(mapping, _) =>
93+
mapping.size shouldBe 17
94+
}
95+
96+
mutator.expectMessageType[Mutator.PersistNodalResults](
97+
FiniteDuration(60, "s")
98+
) match {
99+
case Mutator.PersistNodalResults(results, _) =>
100+
results.size shouldBe 15
101+
}
102+
}
103+
}
104+
}
105+
}
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
package edu.ie3.simbench.convert
2+
3+
import akka.actor.testkit.typed.scaladsl.{ActorTestKit, TestProbe}
4+
import akka.actor.typed.ActorRef
5+
import edu.ie3.simbench.actor.Mutator.MutatorMessage
6+
import edu.ie3.simbench.actor.{Converter, Coordinator, Mutator, WorkerMessage}
7+
import edu.ie3.test.common.UnitSpec
8+
import org.scalatest.BeforeAndAfterAll
9+
10+
import scala.concurrent.duration.FiniteDuration
11+
12+
class ConverterWithoutTimeSeriesSpec extends UnitSpec with BeforeAndAfterAll {
13+
val akkaTestKit: ActorTestKit = ActorTestKit()
14+
15+
override protected def afterAll(): Unit = {
16+
akkaTestKit.shutdownTestKit()
17+
super.afterAll()
18+
}
19+
20+
val coordinator: TestProbe[Coordinator.CoordinatorMessage] =
21+
akkaTestKit.createTestProbe[Coordinator.CoordinatorMessage]("coordinator")
22+
val mutator: TestProbe[MutatorMessage] =
23+
akkaTestKit.createTestProbe[Mutator.MutatorMessage]("mutator")
24+
25+
"Converting a full grid model" when {
26+
"omitting time series" should {
27+
val converter: ActorRef[Converter.ConverterMessage] = akkaTestKit.spawn(
28+
Converter.idle(
29+
Converter.StateData(
30+
"1-LV-rural1--0-no_sw",
31+
"src/test/resources/gridData/1-LV-rural1--0-no_sw",
32+
"http://141.51.193.167/simbench/gui/usecase/download",
33+
failOnExistingFiles = false,
34+
".csv",
35+
"UTF-8",
36+
";",
37+
removeSwitches = false,
38+
20,
39+
createTimeSeries = false,
40+
mutator.ref,
41+
coordinator.ref
42+
)
43+
),
44+
"converter"
45+
)
46+
converter ! Converter.Convert("1-LV-rural1--0-no_sw")
47+
"provide correct amount of converted models" in {
48+
49+
/* Not receiving time series comes implicitly. Receive all all other awaited messages */
50+
mutator.expectMessageType[Mutator.PersistGridStructure](
51+
FiniteDuration(60, "s")
52+
) match {
53+
case Mutator.PersistGridStructure(
54+
simBenchCode,
55+
nodes,
56+
lines,
57+
transformers2w,
58+
transformers3w,
59+
switches,
60+
measurements,
61+
loads,
62+
fixedFeedIns,
63+
_
64+
) =>
65+
simBenchCode shouldBe "1-LV-rural1--0-no_sw"
66+
nodes.size shouldBe 15
67+
lines.size shouldBe 13
68+
transformers2w.size shouldBe 1
69+
transformers3w.size shouldBe 0
70+
switches.size shouldBe 0
71+
measurements.size shouldBe 0
72+
loads.size shouldBe 13
73+
fixedFeedIns.size shouldBe 4
74+
}
75+
76+
mutator.expectMessageType[Mutator.PersistTimeSeriesMapping](
77+
FiniteDuration(60, "s")
78+
) match {
79+
case Mutator.PersistTimeSeriesMapping(mapping, _) =>
80+
mapping.size shouldBe 0
81+
}
82+
83+
mutator.expectMessageType[Mutator.PersistNodalResults](
84+
FiniteDuration(60, "s")
85+
) match {
86+
case Mutator.PersistNodalResults(results, _) =>
87+
results.size shouldBe 15
88+
}
89+
}
90+
}
91+
}
92+
}

0 commit comments

Comments
 (0)