Skip to content

Commit c9adc5d

Browse files
committed
Added unit tests for Set operation
1 parent e95e4f2 commit c9adc5d

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import operations.SetOperation
2+
import org.junit.jupiter.api.Test
3+
import kotlin.test.assertEquals
4+
import kotlin.test.assertTrue
5+
6+
class SetOperationTest {
7+
@Test
8+
fun `Set must set a value to a coil variable`() {
9+
val configuration = ConfigurationParser()
10+
configuration.setReadFromResources(true)
11+
configuration.setFileName("set_operation.xml")
12+
val plcMemory = PlcMemory(configuration)
13+
val setOperation = SetOperation(configuration.getConfiguredDevice().configuration, plcMemory, EnvironmentVariables(listOf<EnvParameter>(),ConfigurationParser() ))
14+
assertTrue(configuration.getConfiguredDevice().simulation.randomElements[0] is Set)
15+
assertEquals(plcMemory.readCoilStatus(configuration.getConfiguredDevice().configuration.registers.register.first().address.toInt(), 1).first(), false)
16+
setOperation.setOperation(configuration.getConfiguredDevice().simulation.randomElements[0] as Set)
17+
assertEquals(plcMemory.readCoilStatus(configuration.getConfiguredDevice().configuration.registers.register.first().address.toInt(), 1).first(), true)
18+
}
19+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="US-ASCII" ?>
2+
<device ip="0.0.0.0" port="502">
3+
<configuration initializeUndefinedRegisters="true" initialValue="0">
4+
<registers>
5+
<register addressType="COIL" address="0" symbol="RELAYON">0</register>
6+
</registers>
7+
</configuration>
8+
<simulation plcScanTime="1000">
9+
<set symbol="RELAYON">1</set>
10+
</simulation>
11+
</device>

0 commit comments

Comments
 (0)