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);
        }