diff --git a/dataforge-io/src/jvmTest/kotlin/hep/dataforge/io/FileEnvelopeTest.kt b/dataforge-io/src/jvmTest/kotlin/hep/dataforge/io/FileEnvelopeTest.kt index 46643ef2..33c07f66 100644 --- a/dataforge-io/src/jvmTest/kotlin/hep/dataforge/io/FileEnvelopeTest.kt +++ b/dataforge-io/src/jvmTest/kotlin/hep/dataforge/io/FileEnvelopeTest.kt @@ -1,9 +1,13 @@ package hep.dataforge.io import hep.dataforge.context.Global +import java.nio.ByteBuffer import java.nio.file.Files +import java.util.* import kotlin.test.Test +import kotlin.test.assertEquals import kotlin.test.assertTrue +import kotlin.test.fail class FileEnvelopeTest { @@ -61,4 +65,36 @@ class FileEnvelopeTest { assertTrue { envelope.contentEquals(restored) } } + @Test + fun testDataSize() { + val tmpPath = Files.createTempFile("dataforge_test", ".df") + Global.io.writeEnvelopeFile(tmpPath, envelope) + println(tmpPath.toUri()) + val scan = Scanner(tmpPath.toFile().inputStream()).useDelimiter("\n").nextLine() + println(scan) + val format = scan.slice(2..5) + when (format) { + "DF03" -> { + val buff = ByteBuffer.allocate(4) + buff.put(scan.slice(12..19).toByteArray()) + buff.flip() + val size = buff.long + println(size) + assertEquals(8, size) + } + "DF02" -> { + val buff = ByteBuffer.allocate(4) + buff.put(scan.slice(12..15).toByteArray()) + buff.flip() + val size = buff.int + println(size) + assertEquals(8, size) + } + else -> { + fail("Format $format don't have test") + } + } + } + + } \ No newline at end of file