BudgetAnalyser.Engine.UnitTest.TestData.LedgerBookDtoTestData.TestData3 C# (CSharp) Метод

TestData3() публичный статический Метод

Same as TestData1 but with some Balance Adjustments on the most recent line. The most recent line also has two bank balances associated with it.
public static TestData3 ( ) : LedgerBookDto
Результат BudgetAnalyser.Engine.Ledger.Data.LedgerBookDto
        public static LedgerBookDto TestData3()
        {
            var book = new LedgerBookDto
            {
                Modified = new DateTime(2013, 12, 14),
                Name = "Test Budget Ledger Book 3",
                StorageKey = "C:\\Folder\\FooBook3.xml"
            };

            var lines = new List<LedgerEntryLineDto>();

            LedgerEntryLineDto line1 = AddEntryLineForTestData1(lines, new DateTime(2013, 12, 20));
            line1.Entries.AddRange(
                new[]
                {
                    new LedgerEntryDto
                    {
                        Balance = 0, // because would go into negative
                        BucketCode = TestDataConstants.RatesBucketCode,
                        Transactions = new List<LedgerTransactionDto>
                        {
                            new LedgerTransactionDto
                            {
                                Id = id1,
                                Amount = 75,
                                Narrative = "Budgeted Amount",
                                TransactionType = typeof(BudgetCreditLedgerTransaction).FullName
                            },
                            new LedgerTransactionDto
                            {
                                Id = id2,
                                Amount = -195,
                                Narrative = "Rates payment",
                                TransactionType = typeof(CreditLedgerTransaction).FullName
                            }
                        }
                    },
                    new LedgerEntryDto
                    {
                        Balance = 21.15M,
                        BucketCode = TestDataConstants.RegoBucketCode,
                        Transactions = new List<LedgerTransactionDto>
                        {
                            new LedgerTransactionDto
                            {
                                Id = id3,
                                Amount = 21.15M,
                                Narrative = "Budgeted Amount",
                                TransactionType = typeof(BudgetCreditLedgerTransaction).FullName
                            }
                        }
                    },
                    new LedgerEntryDto
                    {
                        Balance = 0, // because would go into negative
                        BucketCode = TestDataConstants.CarMtcBucketCode,
                        Transactions = new List<LedgerTransactionDto>
                        {
                            new LedgerTransactionDto
                            {
                                Id = id4,
                                Amount = 95,
                                Narrative = "Budgeted Amount",
                                TransactionType = typeof(BudgetCreditLedgerTransaction).FullName
                            },
                            new LedgerTransactionDto
                            {
                                Id = id5,
                                Amount = -295.45M,
                                Narrative = "Fix car",
                                TransactionType = typeof(CreditLedgerTransaction).FullName
                            }
                        }
                    }
                });

            LedgerEntryLineDto line2 = AddEntryLineForTestData1(lines, new DateTime(2014, 1, 20));
            line2.Entries.AddRange(
                new[]
                {
                    new LedgerEntryDto
                    {
                        BucketCode = TestDataConstants.RatesBucketCode,
                        Transactions = new List<LedgerTransactionDto>
                        {
                            new LedgerTransactionDto
                            {
                                Id = id6,
                                Amount = 75,
                                Narrative = "Budgeted Amount",
                                TransactionType = typeof(BudgetCreditLedgerTransaction).FullName
                            }
                        }
                    },
                    new LedgerEntryDto
                    {
                        BucketCode = TestDataConstants.RegoBucketCode,
                        Transactions = new List<LedgerTransactionDto>
                        {
                            new LedgerTransactionDto
                            {
                                Id = id7,
                                Amount = 21.15M,
                                Narrative = "Budgeted Amount",
                                TransactionType = typeof(BudgetCreditLedgerTransaction).FullName
                            }
                        }
                    },
                    new LedgerEntryDto
                    {
                        BucketCode = TestDataConstants.CarMtcBucketCode,
                        Transactions = new List<LedgerTransactionDto>
                        {
                            new LedgerTransactionDto
                            {
                                Id = id8,
                                Amount = 95,
                                Narrative = "Budgeted Amount",
                                TransactionType = typeof(BudgetCreditLedgerTransaction).FullName
                            }
                        }
                    }
                });

            LedgerEntryLineDto line3 = AddEntryLineForTestData1(lines, new DateTime(2014, 02, 20));
            line3.Entries.AddRange(
                new[]
                {
                    new LedgerEntryDto
                    {
                        BucketCode = TestDataConstants.RatesBucketCode,
                        Transactions = new List<LedgerTransactionDto>
                        {
                            new LedgerTransactionDto
                            {
                                Id = id9,
                                Amount = 75,
                                Narrative = "Budgeted Amount",
                                TransactionType = typeof(BudgetCreditLedgerTransaction).FullName
                            }
                        }
                    },
                    new LedgerEntryDto
                    {
                        BucketCode = TestDataConstants.RegoBucketCode,
                        Transactions = new List<LedgerTransactionDto>
                        {
                            new LedgerTransactionDto
                            {
                                Id = id10,
                                Amount = 21.15M,
                                Narrative = "Budgeted Amount",
                                TransactionType = typeof(BudgetCreditLedgerTransaction).FullName
                            }
                        }
                    },
                    new LedgerEntryDto
                    {
                        BucketCode = TestDataConstants.CarMtcBucketCode,
                        Transactions = new List<LedgerTransactionDto>
                        {
                            new LedgerTransactionDto
                            {
                                Id = id11,
                                Amount = 95,
                                Narrative = "Budgeted Amount",
                                TransactionType = typeof(BudgetCreditLedgerTransaction).FullName
                            }
                        }
                    }
                });

            line3.BankBalanceAdjustments.Add(
                new LedgerTransactionDto
                {
                    Account = StatementModelTestData.ChequeAccount.Name,
                    Amount = -100.01M,
                    Narrative = "Visa payment yet to go out",
                    Id = new Guid("22927CF0-BAA2-4828-A669-C77396888BD6"),
                    TransactionType = typeof(CreditLedgerTransaction).FullName
                });

            UpdateLineBalances(line1, null, 1999.25M);
            UpdateLineBalances(line2, line1, 2001.15M);
            UpdateLineBalances(line3, line2, 1801.45M);
            line3.BankBalances.Add(
                new BankBalanceDto
                {
                    Account = StatementModelTestData.SavingsAccount.Name,
                    Balance = 201M
                });
            line3.BankBalance += 201M;

            book.Ledgers.Add(new LedgerBucketDto { BucketCode = TestDataConstants.RegoBucketCode, StoredInAccount = TestDataConstants.ChequeAccountName });
            book.Ledgers.Add(new LedgerBucketDto { BucketCode = TestDataConstants.CarMtcBucketCode, StoredInAccount = TestDataConstants.ChequeAccountName });
            book.Ledgers.Add(new LedgerBucketDto { BucketCode = TestDataConstants.RatesBucketCode, StoredInAccount = TestDataConstants.ChequeAccountName });
            book.Reconciliations = lines.OrderByDescending(e => e.Date).ToList();
            return book;
        }