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