Update propertyHistoryTest for xodus
This commit is contained in:
parent
cbdd6a477b
commit
21c13ce3af
66
controls-xodus/src/test/kotlin/PropertyHistoryTest.kt
Normal file
66
controls-xodus/src/test/kotlin/PropertyHistoryTest.kt
Normal file
@ -0,0 +1,66 @@
|
||||
import jetbrains.exodus.entitystore.PersistentEntityStores
|
||||
import kotlinx.datetime.Instant
|
||||
import org.junit.jupiter.api.AfterAll
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.BeforeAll
|
||||
import org.junit.jupiter.api.Test
|
||||
import ru.mipt.npm.controls.api.DeviceMessage
|
||||
import ru.mipt.npm.controls.api.PropertyChangedMessage
|
||||
import ru.mipt.npm.controls.storage.synchronous.getPropertyHistory
|
||||
import ru.mipt.npm.controls.xodus.DefaultSynchronousXodusClientFactory
|
||||
import ru.mipt.npm.controls.xodus.XODUS_STORE_PROPERTY
|
||||
import ru.mipt.npm.xodus.serialization.json.encodeToEntity
|
||||
import space.kscience.dataforge.meta.Meta
|
||||
import space.kscience.dataforge.names.Name
|
||||
import java.io.File
|
||||
|
||||
internal class PropertyHistoryTest {
|
||||
companion object {
|
||||
private val storeName = ".property_history_test"
|
||||
private val entityStore = PersistentEntityStores.newInstance(storeName)
|
||||
|
||||
private val propertyChangedMessages = listOf(
|
||||
PropertyChangedMessage(
|
||||
"speed",
|
||||
Meta.EMPTY,
|
||||
time = Instant.fromEpochMilliseconds(1000),
|
||||
sourceDevice = Name.of("virtual-car")
|
||||
),
|
||||
PropertyChangedMessage(
|
||||
"acceleration",
|
||||
Meta.EMPTY,
|
||||
time = Instant.fromEpochMilliseconds(1500),
|
||||
sourceDevice = Name.of("virtual-car")
|
||||
),
|
||||
PropertyChangedMessage(
|
||||
"speed",
|
||||
Meta.EMPTY,
|
||||
time = Instant.fromEpochMilliseconds(2000),
|
||||
sourceDevice = Name.of("magix-virtual-car")
|
||||
)
|
||||
)
|
||||
|
||||
@BeforeAll
|
||||
@JvmStatic
|
||||
fun createEntities() {
|
||||
propertyChangedMessages.forEach {
|
||||
entityStore.encodeToEntity<DeviceMessage>(it, "DeviceMessage")
|
||||
}
|
||||
entityStore.close()
|
||||
}
|
||||
|
||||
@AfterAll
|
||||
@JvmStatic
|
||||
fun deleteDatabase() {
|
||||
File(storeName).deleteRecursively()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun getPropertyHistoryTest() {
|
||||
assertEquals(listOf(propertyChangedMessages[0]), getPropertyHistory(
|
||||
"virtual-car", "speed", DefaultSynchronousXodusClientFactory, Meta {
|
||||
XODUS_STORE_PROPERTY put storeName
|
||||
}))
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user