def testSerializableSuperClass(self):
     self.assertEqual(
         serialization.deserialize(
             serialization.serialize(SerializableFromSuperClassOne())),
         SerializableFromSuperClassOne())
     self.assertEqual(
         serialization.deserialize(
             serialization.serialize(SerializableFromSuperClassTwo())),
         SerializableFromSuperClassTwo())
     self.assertEqual(
         serialization.deserialize(
             serialization.serialize(SerializableFromSuperClassThree())),
         SerializableFromSuperClassThree())
Example #2
0
 def experimental_from_proto(
         cls, proto: default_types_pb2.SerializedDict) -> "Dict":
     return Dict({
         Literal.experimental_from_proto(k).value:
         serialization.deserialize(v)
         for k, v in zip(proto.keys, proto.values)
     })
Example #3
0
    def testCustomClassDeserialization(self):
        original = MyCustomClass(1234, "my_name")
        serialized = serialization.serialize(original)
        deserialized = serialization.deserialize(serialized)

        self.assertIsInstance(deserialized, MyCustomClass)
        self.assertEqual(deserialized.index, original.index)
        self.assertEqual(deserialized.name, original.name)
    def testTupleSerialization(self):
        tuple_original = default_types.Tuple(default_types.Literal(1),
                                             default_types.Literal(2),
                                             default_types.Literal(3))

        self.assertEqual(
            serialization.deserialize(serialization.serialize(tuple_original)),
            tuple_original)
    def testListSerialization(self):
        list_original = default_types.List(default_types.Literal(1),
                                           default_types.Literal(2),
                                           default_types.Literal(3))

        self.assertEqual(
            serialization.deserialize(serialization.serialize(list_original)),
            list_original)
Example #6
0
    def testLiteralSerialization(self):
        literal_bool = default_types.Literal(True)
        literal_int = default_types.Literal(1)
        literal_float = default_types.Literal(1.2)
        literal_str = default_types.Literal('a')

        self.assertEqual(
            serialization.deserialize(serialization.serialize(literal_bool)),
            literal_bool)
        self.assertEqual(
            serialization.deserialize(serialization.serialize(literal_int)),
            literal_int)
        self.assertEqual(
            serialization.deserialize(serialization.serialize(literal_float)),
            literal_float)
        self.assertEqual(
            serialization.deserialize(serialization.serialize(literal_str)),
            literal_str)
    def testDictSerialization(self):
        dict_original = default_types.Dict({
            'a': default_types.Literal(1),
            'b': default_types.Literal(2),
            'c': default_types.Literal(3)
        })

        self.assertEqual(
            serialization.deserialize(serialization.serialize(dict_original)),
            dict_original)
Example #8
0
    def testCompositeClassDeserialization(self):
        original = MyCompositeClass(MyCustomClass(1, "name_1"),
                                    MyCustomClass(2, "name_2"),
                                    MyCustomClass(3, "name_3"))
        serialized = serialization.serialize(original)
        deserialized = serialization.deserialize(serialized)

        self.assertIsInstance(deserialized, MyCompositeClass)

        self.assertEqual(deserialized.elements[0].index, 1)
        self.assertEqual(deserialized.elements[1].index, 2)
        self.assertEqual(deserialized.elements[2].index, 3)

        self.assertEqual(deserialized.elements[0].name, "name_1")
        self.assertEqual(deserialized.elements[1].name, "name_2")
        self.assertEqual(deserialized.elements[2].name, "name_3")
Example #9
0
 def experimental_from_proto(cls, proto):
     return MyCompositeClass(
         *
         [serialization.deserialize(element) for element in proto.elements])
 def testReferencetSerialization(self):
     ref_original = default_types.Reference(default_types.Literal(3), 1)
     self.assertEqual(
         serialization.deserialize(serialization.serialize(ref_original)),
         ref_original)
Example #11
0
 def from_proto(
         cls, proto: default_types_pb2.SerializedReference) -> "Reference":
     return Reference(serialization.deserialize(proto.base),
                      Literal.from_proto(proto.identifier).value)
Example #12
0
 def from_proto(cls, proto: default_types_pb2.SerializedTuple) -> "Tuple":
     return Tuple(*[serialization.deserialize(c) for c in proto.components])