Beispiel #1
0
 def testReadWithOptional(self):
     autoOptionalField = 0x1234
     field = 0x7654
     writer = zserio.BitStreamWriter()
     AutoOptionalMemberAlignmentTest._writeAutoOptionalMemberAlignmentToStream(writer, autoOptionalField,
                                                                               field)
     reader = zserio.BitStreamReader(writer.getByteArray())
     autoOptionalMemberAlignment = self.api.AutoOptionalMemberAlignment.fromReader(reader)
     self._checkAutoOptionalMemberAlignment(autoOptionalMemberAlignment, autoOptionalField, field)
Beispiel #2
0
 def testWriteWithoutOptional(self):
     field = 0x7ACF
     autoOptionalMemberAlignment = self.api.AutoOptionalMemberAlignment.fromFields(None, field)
     writer = zserio.BitStreamWriter()
     autoOptionalMemberAlignment.write(writer)
     reader = zserio.BitStreamReader(writer.getByteArray())
     readAutoOptionalMemberAlignment = self.api.AutoOptionalMemberAlignment.fromReader(reader)
     self._checkAutoOptionalMemberAlignment(readAutoOptionalMemberAlignment, None, field)
     self.assertTrue(autoOptionalMemberAlignment == readAutoOptionalMemberAlignment)
Beispiel #3
0
 def _checkInt4Value(self, value):
     int4RangeCheckCompound = self.api.Int4RangeCheckCompound.fromFields(
         value)
     writer = zserio.BitStreamWriter()
     int4RangeCheckCompound.write(writer)
     reader = zserio.BitStreamReader(writer.getByteArray())
     readInt4RangeCheckCompound = self.api.Int4RangeCheckCompound.fromReader(
         reader)
     self.assertEqual(int4RangeCheckCompound, readInt4RangeCheckCompound)
Beispiel #4
0
    def testFromReader(self):
        writer = zserio.BitStreamWriter()

        self._writeTile(writer)

        reader = zserio.BitStreamReader(writer.getByteArray())
        tile = self.api.Tile.fromReader(reader)

        self._checkTile(tile)
Beispiel #5
0
    def testFromReader(self):
        writer = zserio.BitStreamWriter()

        self._writeTile(writer)

        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
        tile = self.api.Tile.from_reader(reader)

        self._checkTile(tile)
Beispiel #6
0
 def testReadWrite(self):
     oneStringStructure = self.api.OneStringStructure(self.ONE_STRING)
     writer = zserio.BitStreamWriter()
     oneStringStructure.write(writer)
     reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
     readOneStringStructure = self.api.OneStringStructure()
     readOneStringStructure.read(reader)
     self.assertEqual(self.ONE_STRING, readOneStringStructure.one_string)
     self.assertTrue(oneStringStructure == readOneStringStructure)
 def testReadWrongArrayLength(self):
     numSentences = 10
     wrongArrayLength = True
     writer = zserio.BitStreamWriter()
     self._writeMessageToStream(writer, numSentences, wrongArrayLength)
     reader = zserio.BitStreamReader(writer.getByteArray())
     with self.assertRaises(zserio.PythonRuntimeException):
         message = self.api.Message.fromReader(reader)
         self._checkMessage(message, numSentences)
    def testReadWrongCoordXConstraint(self):
        writer = zserio.BitStreamWriter()
        availability = self.api.Availability.Values.COORD_Y | self.api.Availability.Values.COORD_Z
        self.__class__._write(writer, availability, 1, 1, 1)
        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)

        structureBitmaskConstraints = self.api.StructureBitmaskConstraints()
        with self.assertRaises(zserio.PythonRuntimeException):
            structureBitmaskConstraints.read(reader)
 def testWrite(self):
     writer = zserio.BitStreamWriter()
     emptyStructure = self.api.EmptyStructure()
     emptyStructure.write(writer)
     byteArray = writer.getByteArray()
     self.assertEqual(0, len(byteArray))
     reader = zserio.BitStreamReader(writer.getByteArray())
     readEmptyStructure = self.api.EmptyStructure.fromReader(reader)
     self.assertEqual(emptyStructure, readEmptyStructure)
Beispiel #10
0
    def testWriteReadArrayType(self):
        testStructure = self.api.ArrayType_array([1, 2, 3, 4])

        writer = zserio.BitStreamWriter()
        testStructure.write(writer)

        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
        readTestStructure = self.api.ArrayType_array.from_reader(reader)
        self.assertEqual(testStructure, readTestStructure)
Beispiel #11
0
    def testWriteReadOffsetChecker(self):
        testStructure = self.api.OffsetChecker_array([0] * 4, [1, 2, 3, 4])

        writer = zserio.BitStreamWriter()
        testStructure.write(writer)

        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
        readTestStructure = self.api.OffsetChecker_array.from_reader(reader)
        self.assertEqual(testStructure, readTestStructure)
Beispiel #12
0
    def _checkWriteRead(self, numBlocks):
        database = self._createDatabase(numBlocks)
        writer = zserio.BitStreamWriter()
        database.write(writer)
        self.assertEqual(database.bitsizeof(), writer.bitposition)
        self.assertEqual(database.initialize_offsets(0), writer.bitposition)

        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
        readDatabase = self.api.Database.from_reader(reader)
        self.assertEqual(database, readDatabase)
 def testWrite(self):
     createWrongOffsets = True
     compoundIndexedOffsetArray = self._createCompoundIndexedOffsetArray(createWrongOffsets)
     writer = zserio.BitStreamWriter()
     compoundIndexedOffsetArray.write(writer)
     self._checkCompoundIndexedOffsetArray(compoundIndexedOffsetArray)
     reader = zserio.BitStreamReader(writer.getByteArray())
     readCompoundIndexedOffsetArray = self.api.CompoundIndexedOffsetArray.fromReader(reader)
     self._checkCompoundIndexedOffsetArray(readCompoundIndexedOffsetArray)
     self.assertTrue(compoundIndexedOffsetArray == readCompoundIndexedOffsetArray)
Beispiel #14
0
    def testWrite(self):
        database = self._createDatabase()
        writer = zserio.BitStreamWriter()
        database.write(writer)
        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
        self._checkDatabaseInStream(reader, database)

        reader.bitposition = 0
        readDatabase = self.api.Database.from_reader(reader)
        self.assertEqual(database, readDatabase)
Beispiel #15
0
    def testRead(self):
        writer = zserio.BitStreamWriter()
        self._writeFixedArrayToStream(writer)
        reader = zserio.BitStreamReader(writer.getByteArray())
        fixedArray = self.api.FixedArray.fromReader(reader)

        uint8Array = fixedArray.getUint8Array()
        self.assertEqual(self.FIXED_ARRAY_LENGTH, len(uint8Array))
        for i in range(self.FIXED_ARRAY_LENGTH):
            self.assertEqual(i, uint8Array[i])
Beispiel #16
0
 def testWrite(self):
     createWrongOffsets = True
     bitOffset = self._createBitOffset(createWrongOffsets)
     writer = zserio.BitStreamWriter()
     bitOffset.write(writer)
     self._checkBitOffset(bitOffset)
     reader = zserio.BitStreamReader(writer.getByteArray())
     readBitOffset = self.api.BitOffset.fromReader(reader)
     self._checkBitOffset(readBitOffset)
     self.assertTrue(bitOffset == readBitOffset)
Beispiel #17
0
    def testWrite(self):
        grandChildParam = self._createGrandChildParam()
        writer = zserio.BitStreamWriter()
        grandChildParam.write(writer)
        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
        self._checkGrandChildParamInStream(reader, grandChildParam)

        reader.bitposition = 0
        readGrandChildParam = self.api.GrandChildParam.from_reader(reader)
        self.assertEqual(grandChildParam, readGrandChildParam)
 def testFromReader(self):
     selector = self.api.Selector.GREY
     value = 234
     writer = zserio.BitStreamWriter()
     self._writeFullEnumParamChoiceToStream(writer, selector, value)
     reader = zserio.BitStreamReader(writer.getByteArray())
     fullEnumParamChoice = self.api.FullEnumParamChoice.fromReader(
         reader, selector)
     self.assertEqual(selector, fullEnumParamChoice.getSelector())
     self.assertEqual(value, fullEnumParamChoice.getGrey())
 def testFromReader(self):
     selector = self.api.Selector.Values.WHITE
     value = 234
     writer = zserio.BitStreamWriter()
     self._writeFullBitmaskParamChoiceToStream(writer, selector, value)
     reader = zserio.BitStreamReader(writer.getByteArray())
     fullBitmaskParamChoice = self.api.FullBitmaskParamChoice.fromReader(
         reader, selector)
     self.assertEqual(selector, fullBitmaskParamChoice.getSelector())
     self.assertEqual(value, fullBitmaskParamChoice.getWhite())
    def testReadWrongPurpleConstraint(self):
        writer = zserio.BitStreamWriter()
        self.__class__._write(writer, self.api.BasicColor.BLACK,
                              self.api.BasicColor.WHITE,
                              self.api.ExtendedColor.LIME)
        reader = zserio.BitStreamReader(writer.getByteArray())

        structureConstraints = self.api.StructureConstraints()
        with self.assertRaises(zserio.PythonRuntimeException):
            structureConstraints.read(reader)
Beispiel #21
0
    def testReadWrite(self):
        instantiateOnlyNested = self.api.InstantiateOnlyNested(
            self.api.pkg.Test_uint32(self.api.N32(13)))

        writer = zserio.BitStreamWriter()
        instantiateOnlyNested.write(writer)
        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
        readInstantiateOnlyNested = self.api.InstantiateOnlyNested()
        readInstantiateOnlyNested.read(reader)
        self.assertEqual(instantiateOnlyNested, readInstantiateOnlyNested)
 def testWrite(self):
     selector = 1
     emptyChoiceWithDefault = self.api.EmptyChoiceWithDefault(selector)
     writer = zserio.BitStreamWriter()
     emptyChoiceWithDefault.write(writer)
     byteArray = writer.getByteArray()
     self.assertEqual(0, len(byteArray))
     reader = zserio.BitStreamReader(writer.getByteArray())
     readEmptyChoiceWithDefault = self.api.EmptyChoiceWithDefault.fromReader(reader, selector)
     self.assertEqual(emptyChoiceWithDefault, readEmptyChoiceWithDefault)
Beispiel #23
0
 def _checkVarInt16Value(self, value):
     varInt16RangeCheckCompound = self.api.VarInt16RangeCheckCompound.fromFields(
         value)
     writer = zserio.BitStreamWriter()
     varInt16RangeCheckCompound.write(writer)
     reader = zserio.BitStreamReader(writer.getByteArray())
     readVarInt16RangeCheckCompound = self.api.VarInt16RangeCheckCompound.fromReader(
         reader)
     self.assertEqual(varInt16RangeCheckCompound,
                      readVarInt16RangeCheckCompound)
Beispiel #24
0
 def _checkDynamicIntValue(self, numBits, value):
     dynamicIntRangeCheckCompound = self.api.DynamicIntRangeCheckCompound.fromFields(
         numBits, value)
     writer = zserio.BitStreamWriter()
     dynamicIntRangeCheckCompound.write(writer)
     reader = zserio.BitStreamReader(writer.getByteArray())
     readDynamicIntRangeCheckCompound = self.api.DynamicIntRangeCheckCompound.fromReader(
         reader)
     self.assertEqual(dynamicIntRangeCheckCompound,
                      readDynamicIntRangeCheckCompound)
Beispiel #25
0
    def _checkRead(self, numElements):
        writer = zserio.BitStreamWriter()
        AutoArrayTest._writeAutoArrayToStream(writer, numElements)
        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
        autoArray = self.api.AutoArray.from_reader(reader)

        uint8Array = autoArray.uint8_array
        self.assertEqual(numElements, len(uint8Array))
        for i in range(numElements):
            self.assertEqual(i, uint8Array[i])
Beispiel #26
0
    def testPackageNameConflict(self):
        # just test that PackageNameConflict uses correct Blob
        packageNameConflict = self.api.PackageNameConflict.fromFields(self.api.Blob.fromFields(13))
        writer = zserio.BitStreamWriter()
        packageNameConflict.write(writer)
        reader = zserio.BitStreamReader(writer.getByteArray())
        readPackageNameConflict = self.api.PackageNameConflict.fromReader(reader)

        self.assertEqual(13, packageNameConflict.getBlob().getValue())
        self.assertEqual(packageNameConflict.getBlob().getValue(), readPackageNameConflict.getBlob().getValue())
Beispiel #27
0
    def testRead(self):
        writer = zserio.BitStreamWriter()
        self._writeFixedArrayToStream(writer)
        reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
        fixedArray = self.api.FixedArray.from_reader(reader)

        uint8Array = fixedArray.uint8_array
        self.assertEqual(self.FIXED_ARRAY_LENGTH, len(uint8Array))
        for i in range(self.FIXED_ARRAY_LENGTH):
            self.assertEqual(i, uint8Array[i])
    def testWriteBlock12(self):
        block12 = self._createBlock12(self.BLOCK1_DATA, self.BLOCK2_DATA)
        writer = zserio.BitStreamWriter()
        block12.write(writer)
        reader = zserio.BitStreamReader(writer.getByteArray())
        self._checkBlock12InStream(reader, self.BLOCK1_DATA, self.BLOCK2_DATA)

        reader.setBitPosition(0)
        readBlock12 = self.api.Block.fromReader(reader, len(self.BLOCK1_DATA))
        self.assertEqual(block12, readBlock12)
Beispiel #29
0
    def testReadWrite(self):
        instantiateOnlyNested = self.api.InstantiateOnlyNested.fromFields(
            self.api.pkg.Test_uint32.fromFields(self.api.N32.fromFields(13)))

        writer = zserio.BitStreamWriter()
        instantiateOnlyNested.write(writer)
        reader = zserio.BitStreamReader(writer.getByteArray())
        readInstantiateOnlyNested = self.api.InstantiateOnlyNested()
        readInstantiateOnlyNested.read(reader)
        self.assertEqual(instantiateOnlyNested, readInstantiateOnlyNested)
Beispiel #30
0
 def testFromReader(self):
     selector = self.api.Selector.GREY
     value = 234
     writer = zserio.BitStreamWriter()
     self._writeEnumParamChoiceToStream(writer, selector, value)
     reader = zserio.BitStreamReader(writer.byte_array, writer.bitposition)
     enumParamChoice = self.api.EnumParamChoice.from_reader(
         reader, selector)
     self.assertEqual(selector, enumParamChoice.selector)
     self.assertEqual(value, enumParamChoice.grey)