public void GetShareBalanceForFundByInvestorTest() { var factory = new TransactionFactory() .WithFund(() => "Fund 1") .WithInvestor(() => "Investor 1") .WithShares(() => 100) .WithTransactionType(() => TransactionType.Buy); var transactions = factory.Build(3); transactions.Add(factory.WithTransactionType(() => TransactionType.Sell).Build()); new BreakReport(transactions).GetShareBalanceForFundByInvestor("Fund 1", "Investor 1") .Should().Be(200); }
public void GetNetAmountHeldForInvestorTest() { var factory = new TransactionFactory().WithInvestor(() => "Investor 1") .WithFund(() => "Fund 1") .WithPrice(() => 100) .WithShares(() => 1) .WithTransactionType(() => TransactionType.Sell); var transactions = factory.Build(3); transactions.AddRange(factory.WithTransactionType(() => TransactionType.Buy).Build(1)); transactions.AddRange(factory.WithFund(() => "Fund 2").Build(1)); new AssetReport(transactions).GetNetAmountHeldForInvestor("Investor 1").Should().Be(100); }