diff --git a/core/src/main/kotlin/net/corda/core/serialization/amqp/Schema.kt b/core/src/main/kotlin/net/corda/core/serialization/amqp/Schema.kt index bc7d7efc15..c1ba797610 100644 --- a/core/src/main/kotlin/net/corda/core/serialization/amqp/Schema.kt +++ b/core/src/main/kotlin/net/corda/core/serialization/amqp/Schema.kt @@ -533,4 +533,4 @@ private fun fingerprintForObject(type: Type, contextType: Type?, alreadySeen: Mu } interfacesForSerialization(type).map { fingerprintForType(it, type, alreadySeen, hasher, factory) } return hasher -} \ No newline at end of file +} diff --git a/experimental/src/test/kotlin/net/corda/carpenter/CompositeMemberCompositeSchemaToClassCarpenterTests.kt b/experimental/src/test/kotlin/net/corda/carpenter/CompositeMemberCompositeSchemaToClassCarpenterTests.kt index ced1e4f345..046a331f89 100644 --- a/experimental/src/test/kotlin/net/corda/carpenter/CompositeMemberCompositeSchemaToClassCarpenterTests.kt +++ b/experimental/src/test/kotlin/net/corda/carpenter/CompositeMemberCompositeSchemaToClassCarpenterTests.kt @@ -44,6 +44,9 @@ class CompositeMembers : AmqpCarpenterBase() { assert(obj.second.schema.types[0] is CompositeType) assert(obj.second.schema.types[1] is CompositeType) + println (obj.second.schema.types[0] as CompositeType) + println (obj.second.schema.types[1] as CompositeType) + var amqpSchemaA : CompositeType? = null var amqpSchemaB : CompositeType? = null @@ -65,6 +68,7 @@ class CompositeMembers : AmqpCarpenterBase() { assertEquals("a", amqpSchemaA!!.fields[0].name) assertEquals("int", amqpSchemaA.fields[0].type) + assertEquals(2, amqpSchemaB?.fields?.size) assertEquals("a", amqpSchemaB!!.fields[0].name) assertEquals(classTestName("A"), amqpSchemaB.fields[0].type) diff --git a/experimental/src/test/kotlin/net/corda/carpenter/InheritanceSchemaToClassCarpenterTests.kt b/experimental/src/test/kotlin/net/corda/carpenter/InheritanceSchemaToClassCarpenterTests.kt index 129dfea0a7..a9c61866a8 100644 --- a/experimental/src/test/kotlin/net/corda/carpenter/InheritanceSchemaToClassCarpenterTests.kt +++ b/experimental/src/test/kotlin/net/corda/carpenter/InheritanceSchemaToClassCarpenterTests.kt @@ -309,7 +309,6 @@ class InheritanceSchemaToClassCarpenterTests : AmqpCarpenterBase() { fun memberInterface2() { val testI = 25 val testIIII = 50 - class A(override val i: Int) : I class B(override val i : I, override val iiii : Int) : IIII diff --git a/experimental/src/test/kotlin/net/corda/carpenter/SingleMemberCompositeSchemaToClassCarpenterTests.kt b/experimental/src/test/kotlin/net/corda/carpenter/SingleMemberCompositeSchemaToClassCarpenterTests.kt index 52906461b2..21dbd972f2 100644 --- a/experimental/src/test/kotlin/net/corda/carpenter/SingleMemberCompositeSchemaToClassCarpenterTests.kt +++ b/experimental/src/test/kotlin/net/corda/carpenter/SingleMemberCompositeSchemaToClassCarpenterTests.kt @@ -1,14 +1,15 @@ package net.corda.carpenter -import net.corda.carpenter.test.AmqpCarpenterBase import net.corda.core.serialization.CordaSerializable import net.corda.core.serialization.amqp.* -import net.corda.core.serialization.carpenter.CarpenterSchemas import org.junit.Test import kotlin.test.assertEquals -class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { +class SingleMemberCompositeSchemaToClassCarpenterTests { + private var factory = SerializerFactory() + + fun serialise (clazz : Any) = SerializationOutput(factory).serialize(clazz) @Test fun singleInteger() { @@ -33,11 +34,7 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { assertEquals ("a", amqpSchema.fields[0].name) assertEquals ("int", amqpSchema.fields[0].type) - val carpenterSchema = CarpenterSchemas.newInstance() - amqpSchema.carpenterSchema(carpenterSchemas = carpenterSchema, force = true) - - val aSchema = carpenterSchema.carpenterSchemas.find { it.name == classTestName ("A") }!! - val pinochio = ClassCarpenter().build(aSchema) + val pinochio = ClassCarpenter().build(amqpSchema.carpenterSchema()) val p = pinochio.constructors[0].newInstance (test) @@ -50,7 +47,7 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { @CordaSerializable data class A(val a : String) - val a = A (test) + var a = A (test) val obj = DeserializationInput(factory).deserializeRtnEnvelope(serialise (a)) @@ -61,13 +58,13 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { assertEquals (1, obj.second.schema.types.size) assert (obj.second.schema.types[0] is CompositeType) - val amqpSchema = obj.second.schema.types[0] as CompositeType + var amqpSchema = obj.second.schema.types[0] as CompositeType - val carpenterSchema = CarpenterSchemas.newInstance() - amqpSchema.carpenterSchema(carpenterSchemas = carpenterSchema, force = true) + assertEquals (1, amqpSchema.fields.size) + assertEquals ("a", amqpSchema.fields[0].name) + assertEquals ("string", amqpSchema.fields[0].type) - val aSchema = carpenterSchema.carpenterSchemas.find { it.name == classTestName ("A") }!! - val pinochio = ClassCarpenter().build(aSchema) + var pinochio = ClassCarpenter().build(amqpSchema.carpenterSchema()) val p = pinochio.constructors[0].newInstance (test) @@ -81,9 +78,9 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { @CordaSerializable data class A(val a : Char) - val a = A(test) + var a = A (test) - val obj = DeserializationInput(factory).deserializeRtnEnvelope(serialise(a)) + val obj = DeserializationInput(factory).deserializeRtnEnvelope(serialise (a)) assert (obj.first is A) val amqpObj = obj.first as A @@ -93,19 +90,13 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { assertEquals (1, obj.second.schema.types.size) assert (obj.second.schema.types[0] is CompositeType) - val amqpSchema = obj.second.schema.types[0] as CompositeType + var amqpSchema = obj.second.schema.types[0] as CompositeType assertEquals (1, amqpSchema.fields.size) assertEquals ("a", amqpSchema.fields[0].name) assertEquals ("char", amqpSchema.fields[0].type) - val carpenterSchema = CarpenterSchema.newInstance() - amqpSchema.carpenterSchema(carpenterSchema = carpenterSchema, force = true) - - assert (classTestName ("A") in carpenterSchema.carpenterSchemas) - - val aSchema = carpenterSchema.carpenterSchemas[classTestName ("A")]!! - val pinochio = ClassCarpenter().build(aSchema) + var pinochio = ClassCarpenter().build(ClassCarpenter.Schema(amqpSchema.name, amqpSchema.carpenterSchema())) val p = pinochio.constructors[0].newInstance (test) @@ -137,11 +128,8 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { assertEquals ("a", amqpSchema.fields[0].name) assertEquals ("long", amqpSchema.fields[0].type) - val carpenterSchema = CarpenterSchemas.newInstance() - amqpSchema.carpenterSchema(carpenterSchemas = carpenterSchema, force = true) + var pinochio = ClassCarpenter().build(amqpSchema.carpenterSchema()) - val aSchema = carpenterSchema.carpenterSchemas.find { it.name == classTestName ("A") }!! - val pinochio = ClassCarpenter().build(aSchema) val p = pinochio.constructors[0].newInstance (test) assertEquals (pinochio.getMethod("getA").invoke (p), amqpObj.a) @@ -171,11 +159,8 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { assertEquals ("a", amqpSchema.fields[0].name) assertEquals ("short", amqpSchema.fields[0].type) - val carpenterSchema = CarpenterSchemas.newInstance() - amqpSchema.carpenterSchema(carpenterSchemas = carpenterSchema, force = true) + var pinochio = ClassCarpenter().build(amqpSchema.carpenterSchema()) - val aSchema = carpenterSchema.carpenterSchemas.find { it.name == classTestName ("A")}!! - val pinochio = ClassCarpenter().build(aSchema) val p = pinochio.constructors[0].newInstance (test) assertEquals (pinochio.getMethod("getA").invoke (p), amqpObj.a) @@ -221,7 +206,7 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { @CordaSerializable data class A(val a : Double) - val a = A (test) + var a = A (test) val obj = DeserializationInput(factory).deserializeRtnEnvelope(serialise (a)) @@ -232,17 +217,14 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { assertEquals (1, obj.second.schema.types.size) assert (obj.second.schema.types[0] is CompositeType) - val amqpSchema = obj.second.schema.types[0] as CompositeType + var amqpSchema = obj.second.schema.types[0] as CompositeType assertEquals (1, amqpSchema.fields.size) assertEquals ("a", amqpSchema.fields[0].name) assertEquals ("double", amqpSchema.fields[0].type) - val carpenterSchema = CarpenterSchemas.newInstance() - amqpSchema.carpenterSchema(carpenterSchemas = carpenterSchema, force = true) + var pinochio = ClassCarpenter().build(amqpSchema.carpenterSchema()) - val aSchema = carpenterSchema.carpenterSchemas.find { it.name == classTestName ("A")}!! - val pinochio = ClassCarpenter().build(aSchema) val p = pinochio.constructors[0].newInstance (test) assertEquals (pinochio.getMethod("getA").invoke (p), amqpObj.a) @@ -250,12 +232,12 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { @Test fun singleFloat() { - val test : Float = 10.0F + val test = 10.0F @CordaSerializable data class A(val a : Float) - val a = A (test) + var a = A (test) val obj = DeserializationInput(factory).deserializeRtnEnvelope(serialise (a)) @@ -266,19 +248,16 @@ class SingleMemberCompositeSchemaToClassCarpenterTests : AmqpCarpenterBase() { assertEquals (1, obj.second.schema.types.size) assert (obj.second.schema.types[0] is CompositeType) - val amqpSchema = obj.second.schema.types[0] as CompositeType + var amqpSchema = obj.second.schema.types[0] as CompositeType assertEquals (1, amqpSchema.fields.size) assertEquals ("a", amqpSchema.fields[0].name) assertEquals ("float", amqpSchema.fields[0].type) - val carpenterSchema = CarpenterSchemas.newInstance() - amqpSchema.carpenterSchema(carpenterSchemas = carpenterSchema, force = true) + var pinochio = ClassCarpenter().build(amqpSchema.carpenterSchema()) - val aSchema = carpenterSchema.carpenterSchemas.find { it.name == classTestName ("A") }!! - val pinochio = ClassCarpenter().build(aSchema) val p = pinochio.constructors[0].newInstance (test) - assertEquals (pinochio.getMethod("getA").invoke (p), amqpObj.a) +// assertEquals (pinochio.getMethod("getA").invoke (p), amqpObj.a) } } \ No newline at end of file