public void SerializeCreateStockCommand()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = new CreateStockCommand()
            {
                Id          = id,
                ListingDate = new Date(2013, 01, 02),
                AsxCode     = "ABC",
                Name        = "ABC Pty Ltd",
                Trust       = true,
                Category    = AssetCategory.InternationalProperty,
            };

            command.AddChildSecurity("ABC1", "Child1", true);
            command.AddChildSecurity("ABC2", "Child2", false);

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"id\":\"" + id + "\","
                                            + "\"listingDate\":\"2013-01-02\","
                                            + "\"asxCode\":\"ABC\","
                                            + "\"name\":\"ABC Pty Ltd\","
                                            + "\"trust\":true,"
                                            + "\"category\":\"internationalProperty\","
                                            + "\"childSecurities\":["
                                            + "{\"asxCode\":\"ABC1\",\"name\":\"Child1\",\"trust\":true},"
                                            + "{\"asxCode\":\"ABC2\",\"name\":\"Child2\",\"trust\":false}"
                                            + "]}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeChangeDividendRulesCommand()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = new ChangeDividendRulesCommand()
            {
                Id                   = id,
                ChangeDate           = new Date(2013, 01, 02),
                CompanyTaxRate       = 0.30m,
                DividendRoundingRule = RoundingRule.Truncate,
                DrpActive            = true,
                DrpMethod            = DrpMethod.RoundDown
            };

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"id\":\"" + id + "\","
                                            + "\"changeDate\":\"2013-01-02\","
                                            + "\"companyTaxRate\":0.30,"
                                            + "\"dividendRoundingRule\":\"truncate\","
                                            + "\"drpActive\":true,"
                                            + "\"drpMethod\":\"roundDown\"}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 3
0
        public void SerializeOpeningBalance()
        {
            var serializer = new RestClientSerializer();

            var transactionId = Guid.NewGuid();
            var stockId       = Guid.NewGuid();
            var transaction   = new OpeningBalance()
            {
                Id              = transactionId,
                Stock           = stockId,
                TransactionDate = new Date(2000, 01, 10),
                Comment         = "comment",
                Description     = "description",
                Units           = 100,
                CostBase        = 1450.45m,
                AquisitionDate  = new Date(2000, 01, 01)
            };

            var json = JToken.Parse(serializer.Serialize(transaction));

            var expectedJson = JToken.Parse("{\"id\":\"" + transactionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"openingBalance\","
                                            + "\"transactionDate\":\"2000-01-10\","
                                            + "\"comment\":\"comment\","
                                            + "\"description\":\"description\","
                                            + "\"units\":100,"
                                            + "\"costBase\":1450.45,"
                                            + "\"aquisitionDate\":\"2000-01-01\"}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeUntypedToStream()
        {
            var serializer = new RestClientSerializer();
            var stream     = new MemoryStream();

            JToken json;
            var    expectedJson = JToken.Parse("{\"field\":\"Hello\"}");

            using (var streamWriter = new StreamWriter(stream))
            {
                var obj = new SingleValueTestData()
                {
                    Field = "Hello",
                };

                serializer.Serialize(streamWriter, obj);

                streamWriter.Flush();
                stream.Position = 0;

                using (var reader = new StreamReader(stream, Encoding.UTF8))
                {
                    var result = reader.ReadToEnd();
                    json = JToken.Parse(result);
                }
            }

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeStockPriceResponse()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = new StockPriceResponse()
            {
                Id      = id,
                AsxCode = "ABC",
                Name    = "ABC Pty Ltd"
            };

            command.AddClosingPrice(new Date(2000, 01, 02), 12.00m);
            command.AddClosingPrice(new Date(2000, 01, 03), 13.00m);

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"id\":\"" + id + "\","
                                            + "\"asxCode\":\"ABC\","
                                            + "\"name\":\"ABC Pty Ltd\","
                                            + "\"closingPrices\":["
                                            + "{\"date\":\"2000-01-02\",\"price\":12.00},"
                                            + "{\"date\":\"2000-01-03\",\"price\":13.00}"
                                            + "]}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeStockHistoryResponse()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = new StockHistoryResponse()
            {
                Id           = id,
                AsxCode      = "ABC",
                Name         = "ABC Pty Ltd",
                ListingDate  = new Date(2000, 01, 01),
                DelistedDate = Date.MaxValue,
            };

            command.AddHistory(new Date(2001, 01, 02), new Date(2001, 01, 03), "OLD", "Old Name", AssetCategory.AustralianStocks);
            command.AddDividendRules(new Date(2001, 01, 02), new Date(2001, 01, 03), 0.45m, RoundingRule.Truncate, true, DrpMethod.RoundDown);

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"id\":\"" + id + "\","
                                            + "\"asxCode\":\"ABC\","
                                            + "\"name\":\"ABC Pty Ltd\","
                                            + "\"listingDate\":\"2000-01-01\","
                                            + "\"delistedDate\":\"9999-12-31\","
                                            + "\"history\":["
                                            + "{\"fromDate\":\"2001-01-02\",\"toDate\":\"2001-01-03\",\"asxCode\":\"OLD\",\"name\":\"Old Name\",\"category\":\"australianStocks\"}"
                                            + "],"
                                            + "\"dividendRules\":["
                                            + "{\"fromDate\":\"2001-01-02\",\"toDate\":\"2001-01-03\",\"companyTaxRate\":0.45,\"roundingRule\":\"truncate\",\"drpActive\":true,\"drpMethod\":\"roundDown\"}"
                                            + "]}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 7
0
        public void SerializeCostBaseAdjustment()
        {
            var serializer = new RestClientSerializer();

            var transactionId = Guid.NewGuid();
            var stockId       = Guid.NewGuid();
            var transaction   = new CostBaseAdjustment()
            {
                Id              = transactionId,
                Stock           = stockId,
                TransactionDate = new Date(2000, 01, 10),
                Comment         = "comment",
                Description     = "description",
                Percentage      = 0.35m
            };

            var json = JToken.Parse(serializer.Serialize(transaction));

            var expectedJson = JToken.Parse("{\"id\":\"" + transactionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"costBaseAdjustment\","
                                            + "\"transactionDate\":\"2000-01-10\","
                                            + "\"comment\":\"comment\","
                                            + "\"description\":\"description\","
                                            + "\"percentage\":0.35}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 8
0
        public void SerializeUnitCountAdjustment()
        {
            var serializer = new RestClientSerializer();

            var transactionId = Guid.NewGuid();
            var stockId       = Guid.NewGuid();
            var transaction   = new UnitCountAdjustment()
            {
                Id              = transactionId,
                Stock           = stockId,
                TransactionDate = new Date(2000, 01, 10),
                Comment         = "comment",
                Description     = "description",
                OriginalUnits   = 1,
                NewUnits        = 2
            };

            var json = JToken.Parse(serializer.Serialize(transaction));

            var expectedJson = JToken.Parse("{\"id\":\"" + transactionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"unitCountAdjustment\","
                                            + "\"transactionDate\":\"2000-01-10\","
                                            + "\"comment\":\"comment\","
                                            + "\"description\":\"description\","
                                            + "\"originalUnits\":1,"
                                            + "\"newUnits\":2}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 9
0
        public void SerializeSplitConsolidation()
        {
            var serializer = new RestClientSerializer();

            var actionId = Guid.NewGuid();
            var stockId  = Guid.NewGuid();
            var action   = new SplitConsolidation()
            {
                Id            = actionId,
                Stock         = stockId,
                ActionDate    = new Date(2000, 01, 10),
                Description   = "description",
                OriginalUnits = 1,
                NewUnits      = 2
            };

            var json = JToken.Parse(serializer.Serialize(action));

            var expectedJson = JToken.Parse("{\"id\":\"" + actionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"splitConsolidation\","
                                            + "\"actionDate\":\"2000-01-10\","
                                            + "\"description\":\"description\","
                                            + "\"originalUnits\":1,"
                                            + "\"newUnits\":2}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 10
0
        public void SerializeAquisition()
        {
            var serializer = new RestClientSerializer();

            var transactionId = Guid.NewGuid();
            var stockId       = Guid.NewGuid();
            var transaction   = new Aquisition()
            {
                Id                    = transactionId,
                Stock                 = stockId,
                TransactionDate       = new Date(2000, 01, 10),
                Comment               = "comment",
                Description           = "description",
                Units                 = 100,
                AveragePrice          = 12.00m,
                TransactionCosts      = 19.95m,
                CreateCashTransaction = true
            };

            var json = JToken.Parse(serializer.Serialize(transaction));

            var expectedJson = JToken.Parse("{\"id\":\"" + transactionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"aquisition\","
                                            + "\"transactionDate\":\"2000-01-10\","
                                            + "\"comment\":\"comment\","
                                            + "\"description\":\"description\","
                                            + "\"units\":100,"
                                            + "\"averagePrice\":12.00,"
                                            + "\"transactionCosts\":19.95,"
                                            + "\"createCashTransaction\":true}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 11
0
        public void SerializeDividend()
        {
            var serializer = new RestClientSerializer();

            var actionId = Guid.NewGuid();
            var stockId  = Guid.NewGuid();
            var action   = new Dividend()
            {
                Id             = actionId,
                Stock          = stockId,
                ActionDate     = new Date(2000, 01, 10),
                Description    = "description",
                PaymentDate    = new Date(2000, 02, 01),
                Amount         = 12.00m,
                PercentFranked = 1.00m,
                DrpPrice       = 13.00m
            };

            var json = JToken.Parse(serializer.Serialize(action));

            var expectedJson = JToken.Parse("{\"id\":\"" + actionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"dividend\","
                                            + "\"actionDate\":\"2000-01-10\","
                                            + "\"description\":\"description\","
                                            + "\"paymentDate\":\"2000-02-01\","
                                            + "\"amount\":12.00,"
                                            + "\"percentFranked\":1.00,"
                                            + "\"drpPrice\":13.00}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 12
0
        public void SerializeReturnOfCapital()
        {
            var serializer = new RestClientSerializer();

            var transactionId = Guid.NewGuid();
            var stockId       = Guid.NewGuid();
            var transaction   = new ReturnOfCapital()
            {
                Id                    = transactionId,
                Stock                 = stockId,
                TransactionDate       = new Date(2000, 01, 10),
                Comment               = "comment",
                Description           = "description",
                RecordDate            = new Date(2000, 01, 01),
                Amount                = 45.00m,
                CreateCashTransaction = true
            };

            var json = JToken.Parse(serializer.Serialize(transaction));

            var expectedJson = JToken.Parse("{\"id\":\"" + transactionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"returnOfCapital\","
                                            + "\"transactionDate\":\"2000-01-10\","
                                            + "\"comment\":\"comment\","
                                            + "\"description\":\"description\","
                                            + "\"recordDate\":\"2000-01-01\","
                                            + "\"amount\":45.00,"
                                            + "\"createCashTransaction\":true}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeRelativeNtaResponse()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = new RelativeNtaResponse()
            {
                Id      = id,
                AsxCode = "ABC",
                Name    = "ABC Pty Ltd",
            };
            var childNtas = new RelativeNtaResponse.ChildSecurityNta[]
            {
                new RelativeNtaResponse.ChildSecurityNta("ABC1", 0.40m),
                new RelativeNtaResponse.ChildSecurityNta("ABC2", 0.60m),
            };

            command.AddRelativeNta(new Date(2001, 01, 02), new Date(2001, 02, 03), childNtas);

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"id\":\"" + id + "\","
                                            + "\"asxCode\":\"ABC\","
                                            + "\"name\":\"ABC Pty Ltd\","
                                            + "\"relativeNtas\":["
                                            + "{\"fromDate\":\"2001-01-02\",\"toDate\":\"2001-02-03\",\"relativeNtas\":["
                                            + "{\"childSecurity\":\"ABC1\",\"percentage\":0.40},"
                                            + "{\"childSecurity\":\"ABC2\",\"percentage\":0.60}"
                                            + "]}"
                                            + "]}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 14
0
        public void SerializeCapitalReturn()
        {
            var serializer = new RestClientSerializer();

            var actionId = Guid.NewGuid();
            var stockId  = Guid.NewGuid();
            var action   = new CapitalReturn()
            {
                Id          = actionId,
                Stock       = stockId,
                ActionDate  = new Date(2000, 01, 10),
                Description = "description",
                PaymentDate = new Date(2000, 02, 01),
                Amount      = 12.00m
            };

            var json = JToken.Parse(serializer.Serialize(action));

            var expectedJson = JToken.Parse("{\"id\":\"" + actionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"capitalReturn\","
                                            + "\"actionDate\":\"2000-01-10\","
                                            + "\"description\":\"description\","
                                            + "\"paymentDate\":\"2000-02-01\","
                                            + "\"amount\":12.00}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 15
0
        public void SerializeCashTransaction()
        {
            var serializer = new RestClientSerializer();

            var transactionId = Guid.NewGuid();
            var stockId       = Guid.NewGuid();
            var transaction   = new CashTransaction()
            {
                Id                  = transactionId,
                Stock               = stockId,
                TransactionDate     = new Date(2000, 01, 10),
                Comment             = "comment",
                Description         = "description",
                CashTransactionType = CashTransactionType.Fee,
                Amount              = 15.00m
            };

            var json = JToken.Parse(serializer.Serialize(transaction));

            var expectedJson = JToken.Parse("{\"id\":\"" + transactionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"cashTransaction\","
                                            + "\"transactionDate\":\"2000-01-10\","
                                            + "\"comment\":\"comment\","
                                            + "\"description\":\"description\","
                                            + "\"cashTransactionType\":\"fee\","
                                            + "\"amount\":15.00}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void DateType()
        {
            var serializer = new RestClientSerializer();

            var obj = new DateTestData()
            {
                Date = new Date(2004, 01, 02)
            };
            var result = JToken.Parse(serializer.Serialize <DateTestData>(obj));

            var expectedJson = JToken.Parse("{\"date\":\"2004-01-02\"}");

            result.Should().BeEquivalentTo(expectedJson);
        }
        public void TimeType()
        {
            var serializer = new RestClientSerializer();

            var obj = new TimeTestData()
            {
                Time = new Time(13, 45, 01)
            };
            var result = JToken.Parse(serializer.Serialize <TimeTestData>(obj));

            var expectedJson = JToken.Parse("{\"time\":\"13:45:01\"}");

            result.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 18
0
        public void SerializeAuthenticationResponse()
        {
            var serializer = new RestClientSerializer();

            var response = new AuthenticationResponse()
            {
                Token = "tokendata"
            };

            var json = JToken.Parse(serializer.Serialize(response));

            var expectedJson = JToken.Parse("{\"token\":\"tokendata\"}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 19
0
        public void SerializeAuthenticationRequest()
        {
            var serializer = new RestClientSerializer();

            var request = new AuthenticationRequest()
            {
                UserName = "******",
                Password = "******"
            };

            var json = JToken.Parse(serializer.Serialize(request));

            var expectedJson = JToken.Parse("{\"userName\":\"JoeBlogs\",\"password\":\"secret\"}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void NullValue()
        {
            var serializer = new RestClientSerializer();

            var obj = new StandardTypesTestData()
            {
                Integer  = 5,
                String   = null,
                Decimal  = 123.45m,
                DateTime = new DateTime(2004, 02, 03, 14, 22, 04)
            };
            var result = JToken.Parse(serializer.Serialize <StandardTypesTestData>(obj));

            var expectedJson = JToken.Parse("{\"integer\":5,\"decimal\":123.45,\"dateTime\":\"2004-02-03T14:22:04\"}");

            result.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeStockResponse()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = 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
            };

            command.AddChild("ABC1", "Child", true);

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"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}"
                                            + "]}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeDelistStockCommand()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = new DelistStockCommand()
            {
                Id            = id,
                DelistingDate = new Date(2013, 01, 02)
            };

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"id\":\"" + id + "\","
                                            + "\"delistingDate\":\"2013-01-02\"}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 23
0
        public void SerializeIncomeReceived()
        {
            var serializer = new RestClientSerializer();

            var transactionId = Guid.NewGuid();
            var stockId       = Guid.NewGuid();
            var transaction   = new IncomeReceived()
            {
                Id                    = transactionId,
                Stock                 = stockId,
                TransactionDate       = new Date(2000, 01, 10),
                Comment               = "comment",
                Description           = "description",
                RecordDate            = new Date(2000, 01, 02),
                FrankedAmount         = 10.00m,
                UnfrankedAmount       = 11.00m,
                FrankingCredits       = 3.00m,
                Interest              = 4.00m,
                TaxDeferred           = 7.00m,
                DrpCashBalance        = 9.00m,
                CreateCashTransaction = true
            };

            var json = JToken.Parse(serializer.Serialize(transaction));

            var expectedJson = JToken.Parse("{\"id\":\"" + transactionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"incomeReceived\","
                                            + "\"transactionDate\":\"2000-01-10\","
                                            + "\"comment\":\"comment\","
                                            + "\"description\":\"description\","
                                            + "\"recordDate\":\"2000-01-02\","
                                            + "\"frankedAmount\":10.00,"
                                            + "\"unfrankedAmount\":11.00,"
                                            + "\"frankingCredits\":3.00,"
                                            + "\"interest\":4.00,"
                                            + "\"taxDeferred\":7.00,"
                                            + "\"drpCashBalance\":9.00,"
                                            + "\"createCashTransaction\":true}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeTradingCalander()
        {
            var serializer = new RestClientSerializer();

            var request = new TradingCalendar()
            {
                Year = 2013
            };

            request.AddNonTradingDay(new Date(2013, 01, 01), "New Year's Day");
            request.AddNonTradingDay(new Date(2013, 12, 25), "Christmas Day");

            var json = JToken.Parse(serializer.Serialize(request));

            var expectedJson = JToken.Parse("{\"year\":2013,\"nonTradingDays\":["
                                            + "{\"date\":\"2013-01-01\",\"description\":\"New Year's Day\"},"
                                            + "{\"date\":\"2013-12-25\",\"description\":\"Christmas Day\"}]}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeUpdateClosingPricesCommand()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = new UpdateClosingPricesCommand()
            {
                Id = id
            };

            command.AddClosingPrice(new Date(2000, 01, 01), 10.00m);

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"id\":\"" + id + "\","
                                            + "\"closingPrices\":["
                                            + "{\"date\":\"2000-01-01\",\"price\":10.00}"
                                            + "]}");

            json.Should().BeEquivalentTo(expectedJson);
        }
Exemplo n.º 26
0
        public void SerializeTransformation()
        {
            var serializer = new RestClientSerializer();

            var actionId      = Guid.NewGuid();
            var stockId       = Guid.NewGuid();
            var resultStockId = Guid.NewGuid();
            var action        = new Transformation()
            {
                Id                     = actionId,
                Stock                  = stockId,
                ActionDate             = new Date(2000, 01, 10),
                Description            = "description",
                ImplementationDate     = new Date(2000, 02, 01),
                CashComponent          = 3.00m,
                RolloverRefliefApplies = true
            };

            action.AddResultingStock(resultStockId, 1, 2, 45.00m, new Date(2000, 03, 04));

            var json = JToken.Parse(serializer.Serialize(action));

            var expectedJson = JToken.Parse("{\"id\":\"" + actionId + "\","
                                            + "\"stock\":\"" + stockId + "\","
                                            + "\"type\":\"transformation\","
                                            + "\"actionDate\":\"2000-01-10\","
                                            + "\"description\":\"description\","
                                            + "\"implementationDate\":\"2000-02-01\","
                                            + "\"cashComponent\":3.00,"
                                            + "\"rolloverRefliefApplies\":true,"
                                            + "\"resultingStocks\":["
                                            + "{\"stock\":\"" + resultStockId + "\","
                                            + "\"originalUnits\":1,"
                                            + "\"newUnits\":2,"
                                            + "\"costBase\":45.00,"
                                            + "\"aquisitionDate\":\"2000-03-04\"}"
                                            + "]}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeChangeRelativeNTAsCommand()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = new ChangeRelativeNtaCommand()
            {
                Id         = id,
                ChangeDate = new Date(2013, 01, 02),
            };

            command.AddRelativeNta("ABC", 0.50m);

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"id\":\"" + id + "\","
                                            + "\"changeDate\":\"2013-01-02\","
                                            + "\"relativeNtas\":["
                                            + "{\"childSecurity\":\"ABC\",\"percentage\":0.50}"
                                            + "]}");

            json.Should().BeEquivalentTo(expectedJson);
        }
        public void SerializeChangeStockCommand()
        {
            var serializer = new RestClientSerializer();

            var id      = Guid.NewGuid();
            var command = new ChangeStockCommand()
            {
                Id         = id,
                ChangeDate = new Date(2013, 01, 02),
                AsxCode    = "ABC",
                Name       = "ABC Pty Ltd",
                Category   = AssetCategory.AustralianStocks
            };

            var json = JToken.Parse(serializer.Serialize(command));

            var expectedJson = JToken.Parse("{\"id\":\"" + id + "\","
                                            + "\"changeDate\":\"2013-01-02\","
                                            + "\"asxCode\":\"ABC\","
                                            + "\"name\":\"ABC Pty Ltd\","
                                            + "\"category\":\"australianStocks\"}");

            json.Should().BeEquivalentTo(expectedJson);
        }