public void SetRelativeNTAsTwiceOnSameDay() { var listingDate = new Date(2000, 01, 01); var changeDate = new Date(2002, 01, 01); var stock = new StapledSecurity(Guid.NewGuid()); var childSecurities = new StapledSecurityChild[] { new StapledSecurityChild("ABC_1", "Child 1", true), new StapledSecurityChild("ABC_2", "Child 2", false) }; stock.List("ABC", "ABC Pty Ltd", listingDate, AssetCategory.AustralianProperty, childSecurities); stock.SetRelativeNTAs(changeDate, new decimal[] { 0.30m, 0.70m }); stock.SetRelativeNTAs(changeDate, new decimal[] { 0.60m, 0.40m }); stock.RelativeNTAs[changeDate].Percentages.Should().Equal(new decimal[] { 0.60m, 0.40m }); }
public void SetRelativeNTAsPercentagesDontAddTo100() { var listingDate = new Date(2000, 01, 01); var changeDate = new Date(2002, 01, 01); var stock = new StapledSecurity(Guid.NewGuid()); var childSecurities = new StapledSecurityChild[] { new StapledSecurityChild("ABC_1", "Child 1", true), new StapledSecurityChild("ABC_2", "Child 2", false) }; stock.List("ABC", "ABC Pty Ltd", listingDate, AssetCategory.AustralianProperty, childSecurities); Action a = () => stock.SetRelativeNTAs(changeDate, new decimal[] { 0.60m, 0.60m }); a.Should().Throw <ArgumentException>(); }
public void SetRelativeNTAsBeforeListing() { var listingDate = new Date(2000, 01, 01); var changeDate = new Date(1999, 01, 01); var stock = new StapledSecurity(Guid.NewGuid()); var childSecurities = new StapledSecurityChild[] { new StapledSecurityChild("ABC_1", "Child 1", true), new StapledSecurityChild("ABC_2", "Child 2", false) }; stock.List("ABC", "ABC Pty Ltd", listingDate, AssetCategory.AustralianProperty, new StapledSecurityChild[0]); Action a = () => stock.SetRelativeNTAs(changeDate, new decimal[] { 0.50m, 0.50m }); a.Should().Throw <EffectiveDateException>(); }