public void Should_create_an_overarching_type() { var messageInfo = MessageInfoCache.GetMessageInfo <OverarchingArgument>(); ObjectInfo[] objectInfos = MessageInfoCache.GetMessageObjectInfo(messageInfo); ObjectInfoContractCache.AddContracts(objectInfos); var contract = ObjectInfoContractCache.GetOrAddContract(messageInfo); var factory = ContractCache.GetMessageFactory(contract); var message = factory.Create(); var properties = message.GetType().GetProperties(); Assert.That(properties.Length, Is.EqualTo(2)); Assert.That(properties[0].Name, Is.EqualTo("CommandId")); Assert.That(properties[0].PropertyType, Is.EqualTo(typeof(Guid))); Assert.That(properties[1].Name, Is.EqualTo("Argument")); properties = properties[1].PropertyType.GetProperties(); Assert.That(properties.Length, Is.EqualTo(2)); Assert.That(properties[0].Name, Is.EqualTo("Name")); Assert.That(properties[0].PropertyType, Is.EqualTo(typeof(string))); Assert.That(properties[1].Name, Is.EqualTo("Age")); Assert.That(properties[1].PropertyType, Is.EqualTo(typeof(int))); }
public void Should_create_a_simple_type() { var messageInfo = MessageInfoCache.GetMessageInfo <SimpleArgument>(); var contract = ObjectInfoContractCache.GetOrAddContract(messageInfo); var factory = ContractCache.GetMessageFactory(contract); var message = factory.Create(); var properties = message.GetType().GetProperties(); Assert.That(properties.Length, Is.EqualTo(2)); Assert.That(properties[0].Name, Is.EqualTo("Name")); Assert.That(properties[0].PropertyType, Is.EqualTo(typeof(string))); Assert.That(properties[1].Name, Is.EqualTo("Age")); Assert.That(properties[1].PropertyType, Is.EqualTo(typeof(int))); }