public void DeserializeStockResponse() { var serializer = new RestClientSerializer(); var id = Guid.NewGuid(); var json = "{\"id\":\"" + id + "\"," + "\"asxCode\":\"ABC\"," + "\"name\":\"ABC Pty Ltd\"," + "\"category\":\"australianStocks\"," + "\"trust\":true," + "\"stapledSecurity\":true," + "\"listingDate\":\"2000-01-01\"," + "\"delistedDate\":\"9999-12-31\"," + "\"lastPrice\":12.00," + "\"companyTaxRate\":0.30," + "\"dividendRoundingRule\":\"round\"," + "\"drpActive\":true," + "\"drpMethod\":\"roundDown\"," + "\"childSecurities\":[" + "{\"asxCode\":\"ABC1\",\"name\":\"Child\",\"trust\":true}" + "]}"; var command = serializer.Deserialize <StockResponse>(json); var expected = new StockResponse() { Id = id, AsxCode = "ABC", Name = "ABC Pty Ltd", Category = AssetCategory.AustralianStocks, Trust = true, StapledSecurity = true, ListingDate = new Date(2000, 01, 01), DelistedDate = Date.MaxValue, LastPrice = 12.00m, CompanyTaxRate = 0.30m, DividendRoundingRule = RoundingRule.Round, DrpActive = true, DrpMethod = DrpMethod.RoundDown }; expected.AddChild("ABC1", "Child", true); command.Should().BeEquivalentTo(expected); }