示例#1
0
        public void FormatAccounts_MarkAccounts_ChildAccountShouldHaveVisitedChildrenToBeIncluded()
        {
            Account account      = new Account();
            Account childAccount = new Account(account, "child");

            account.AddAccount(childAccount);
            Account grandChildAccount = new Account(childAccount, "grand-child");

            childAccount.AddAccount(grandChildAccount);
            FormatAccounts formatAccounts = CreateFormatAccounts();

            var result = formatAccounts.MarkAccounts(account, false);

            Assert.AreEqual(0, result.Item1);
            result = formatAccounts.MarkAccounts(account, true);
            Assert.AreEqual(0, result.Item1);

            // once grandchild is marked as visited, it is counted by child account and the child is included - but only for NOT FLAT mode
            childAccount.XData.Visited      = false;
            grandChildAccount.XData.Visited = true;
            result = formatAccounts.MarkAccounts(account, false); // flat = false
            Assert.AreEqual(1, result.Item1);                     // Last visited is grandchild

            childAccount.XData.Visited      = false;
            grandChildAccount.XData.Visited = true;
            result = formatAccounts.MarkAccounts(account, true); // flat = true
            Assert.AreEqual(1, result.Item1);                    // last visited is child
        }
示例#2
0
        public void FormatAccounts_MarkAccounts_IgnoresRootAccount()
        {
            Account        account        = new Account(null, "root-account-does-not-have-a-parent");
            FormatAccounts formatAccounts = CreateFormatAccounts();

            var result = formatAccounts.MarkAccounts(account, false); // "flat"=false

            Assert.AreEqual(0, result.Item1);
            Assert.AreEqual(0, result.Item2);

            result = formatAccounts.MarkAccounts(account, true);  // "flat"=true
            Assert.AreEqual(0, result.Item1);
            Assert.AreEqual(0, result.Item2);
        }
示例#3
0
        public void FormatAccounts_MarkAccounts_ChildAccountShouldBeVisitedToBeIncluded()
        {
            Account account      = new Account();
            Account childAccount = new Account(account, "child");

            account.AddAccount(childAccount);
            FormatAccounts formatAccounts = CreateFormatAccounts();

            var result = formatAccounts.MarkAccounts(account, false);

            Assert.AreEqual(0, result.Item1);

            childAccount.XData.Visited = true;
            result = formatAccounts.MarkAccounts(account, false);
            Assert.AreEqual(1, result.Item1);
        }