public void WhenDeserializeAndSuppliedStrategy() { var mockRequest = "{\"Name\":\"Bond. James Bond\",\"Id\":\"007\"}"; var mockResponse = new SecretAgent { Id = "007", Name = "Bond. James Bond" }; var mockStrategy = new Mock <ISerializationStrategy>(); mockStrategy.Setup(m => m.Deserialize <SecretAgent>(mockRequest)).Returns(mockResponse); var opt = new SerializationOptions { Serialization = mockStrategy.Object }; var req1 = mockRequest; var val1 = new StringValue(req1, opt); var res1 = val1.Deserialize <SecretAgent>().Value; res1.Should().NotBeNull(); res1.Name.Should().Be("Bond. James Bond"); res1.Id.Should().Be("007"); mockStrategy.Verify(m => m.Deserialize <SecretAgent>(req1), Times.Once); }
public void Create(SecretAgent agent) { Agents.Add(new SecretAgent() { Id = Agents.Max(x => x.Id) + 1, Name = agent.Name, Alias = agent.Alias }); }
public void TestXmlSerializationStrategyWithCustomSettings() { var customSettings = new JsonSerializerSettings { Formatting = Formatting.None, NullValueHandling = NullValueHandling.Ignore, ContractResolver = new DefaultContractResolver { NamingStrategy = new CamelCaseNamingStrategy() } }; var strategy = new XmlSerializationStrategy(customSettings); var serializeRequest = new SecretAgent { Id = "007", Name = "Bond. James Bond" }; var serializeResponse = strategy.Serialize(serializeRequest); var expectedResponse = "<Root><name>Bond. James Bond</name><id>007</id></Root>"; serializeResponse.Equals(expectedResponse).Should().BeTrue(); var deserializeRequest = serializeResponse; var deserializeResponse = strategy.Deserialize <SecretAgent>(deserializeRequest); deserializeResponse.Should().NotBeNull(); deserializeResponse.Name.Should().Be("Bond. James Bond"); deserializeResponse.Id.Should().Be("007"); }
public void WhenSerializeAndDefaultStrategy() { var req1 = new SecretAgent { Id = "007", Name = "Bond. James Bond" }; var val1 = new TypeValue <SecretAgent>(req1, null); var res1 = val1.Serialize().Value; res1.Should().NotBeNull(); res1.Should().Be("{\"Name\":\"Bond. James Bond\",\"Id\":\"007\"}"); }
public void TestJsonSerializationStrategyWithDefaultSettings() { var strategy = new JsonSerializationStrategy(); var serializeRequest = new SecretAgent { Id = "007", Name = "Bond. James Bond" }; var serializeResponse = strategy.Serialize(serializeRequest); var expectedResponse = "{\"Name\":\"Bond. James Bond\",\"Id\":\"007\",\"Drinks\":null}"; serializeResponse.Equals(expectedResponse).Should().BeTrue(); var deserializeRequest = serializeResponse; var deserializeResponse = strategy.Deserialize <SecretAgent>(deserializeRequest); deserializeResponse.Should().NotBeNull(); deserializeResponse.Name.Should().Be("Bond. James Bond"); deserializeResponse.Id.Should().Be("007"); }
public void TestXmlSerializationStrategyWithDefaultSettings() { var strategy = new XmlSerializationStrategy(); var serializeRequest = new SecretAgent { Id = "007", Name = "Bond. James Bond" }; var serializeResponse = strategy.Serialize(serializeRequest); var expectedResponse = "<Root><Name>Bond. James Bond</Name><Id>007</Id><Drinks /></Root>"; serializeResponse.Equals(expectedResponse).Should().BeTrue(); var deserializeRequest = serializeResponse; var deserializeResponse = strategy.Deserialize <SecretAgent>(deserializeRequest); deserializeResponse.Should().NotBeNull(); deserializeResponse.Name.Should().Be("Bond. James Bond"); deserializeResponse.Id.Should().Be("007"); }
public void TestXmlSerializationStrategyWithArrayOfOneElement() { var strategy = new XmlSerializationStrategy(); var serializeRequest = new SecretAgent { Id = "007", Name = "Bond. James Bond", Drinks = new string[] { "Martini" } }; var serializeResponse = strategy.Serialize(serializeRequest); var arrayAttribute = "json:Array=\"true\" xmlns:json=\"http://james.newtonking.com/projects/json\""; var expectedResponse = $"<Root><Name>Bond. James Bond</Name><Id>007</Id><Drinks {arrayAttribute}>Martini</Drinks></Root>"; serializeResponse.Equals(expectedResponse).Should().BeTrue(); var deserializeRequest = serializeResponse; var deserializeResponse = strategy.Deserialize <SecretAgent>(deserializeRequest); deserializeResponse.Should().NotBeNull(); deserializeResponse.Name.Should().Be("Bond. James Bond"); deserializeResponse.Id.Should().Be("007"); deserializeResponse.Drinks.Should().HaveCount(1); deserializeResponse.Drinks[0].Should().Be("Martini"); }