Skip to content

Commit 583949a

Browse files
committed
Added unit tests for Set operation
1 parent 0499b3e commit 583949a

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/test/kotlin/SetOperationTest.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,18 @@ class SetOperationTest {
1616
setOperation.setOperation(configuration.getConfiguredDevice().simulation.randomElements[0] as Set)
1717
assertEquals(plcMemory.readCoilStatus(configuration.getConfiguredDevice().configuration.registers.register.first().address.toInt(), 1).first(), true)
1818
}
19+
20+
@Test
21+
fun `Set must set a INT16 value to a holding register variable`() {
22+
val configuration = ConfigurationParser()
23+
configuration.setReadFromResources(true)
24+
configuration.setFileName("set_operation.xml")
25+
val plcMemory = PlcMemory(configuration)
26+
val setOperation = SetOperation(configuration.getConfiguredDevice().configuration, plcMemory, EnvironmentVariables(listOf<EnvParameter>(),ConfigurationParser() ))
27+
assertTrue(configuration.getConfiguredDevice().simulation.randomElements[1] is Set)
28+
assertEquals(plcMemory.readHoldingRegister(configuration.getConfiguredDevice().configuration.registers.register[1].address.toInt(), 1).first(), 500)
29+
setOperation.setOperation(configuration.getConfiguredDevice().simulation.randomElements[1] as Set)
30+
assertEquals(plcMemory.readHoldingRegister(configuration.getConfiguredDevice().configuration.registers.register[1].address.toInt(), 1).first(), 600)
31+
}
32+
1933
}

src/test/resources/set_operation.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
<configuration initializeUndefinedRegisters="true" initialValue="0">
44
<registers>
55
<register addressType="COIL" address="0" symbol="RELAYON">0</register>
6+
<register addressType="HOLDING_REGISTER" address="14" symbol="RPM_MOTOR">500</register>
67
</registers>
78
</configuration>
89
<simulation plcScanTime="1000">
910
<set symbol="RELAYON">1</set>
11+
<set symbol="RPM_MOTOR">600</set>
1012
</simulation>
1113
</device>

0 commit comments

Comments
 (0)