Example #1
0
        public void TotalAmount_AddNewBudgetItem_ExpectGroupListenerNotified()
        {
            var items = new List <BudgetItem>()
            {
                new BudgetItem("item name", BudgetItemType.Debt, 12.34m)
            };

            var group = new BudgetGroup("test group", budgetItems: items);

            group.AddNewBudgetItem();

            bool wasGroupNotified = false;

            group.PropertyChanged += (o, e) =>
            {
                if (e.PropertyName == nameof(group.TotalAmount))
                {
                    wasGroupNotified = true;
                }
            };

            var newAmount = 99.99m;

            group.BudgetItems.Last().Amount = newAmount;
            wasGroupNotified.Should().BeTrue();
        }
Example #2
0
        public void AddNewBudgetItem_ExpectNewNameOnEachAddition()
        {
            var group            = new BudgetGroup("test group");
            var firstNewItemName = group.NewBudgetItemName;

            group.AddNewBudgetItem();

            group.NewBudgetItemName.Should().NotBe(firstNewItemName);
        }
Example #3
0
        public void AddNewBudgetItem_ExpectAddedWithDefaultValues()
        {
            var expectedType = BudgetItemType.Debt;
            var group        = new BudgetGroup("test group", defaultItemType: expectedType);
            var expectedName = group.NewBudgetItemName;

            group.AddNewBudgetItem();

            group.BudgetItems.Count().Should().Be(1);
            group.BudgetItems.Last().Name.Should().Be(expectedName);
            group.BudgetItems.Last().Type.Should().Be(expectedType);
        }
Example #4
0
 public void AddNewBudgetItem() => BudgetGroup.AddNewBudgetItem();