Пример #1
0
        public void TriggerRefreshOfTotalsRowShouldRaise8Events()
        {
            TransactionGroupedByBucket subject = Arrange();
            var eventCount = 0;

            subject.PropertyChanged += (s, e) => eventCount++;
            subject.TriggerRefreshTotalsRow();
            Assert.AreEqual(8, eventCount);
        }
        public TransactionGroupedByBucketViewModel([NotNull] TransactionGroupedByBucket baseline, [NotNull] IUiContext uiContext)
            : base(baseline.Transactions, baseline.Bucket)
        {
            if (uiContext == null)
            {
                throw new ArgumentNullException(nameof(uiContext));
            }

            DeleteTransactionCommand = uiContext.StatementController.DeleteTransactionCommand;
            EditTransactionCommand   = uiContext.StatementController.EditTransactionCommand;
            AppliedRulesController   = uiContext.StatementController.AppliedRulesController;
        }
Пример #3
0
        public void PopulateGroupByBucketCollection_ShouldReturnListSortedByBucket_GivenStatementModelAndTrue()
        {
            IEnumerable <TransactionGroupedByBucket> result = this.subject.PopulateGroupByBucketCollection(true);

            TransactionGroupedByBucket previous = null;

            foreach (TransactionGroupedByBucket groupedByBucket in result)
            {
                if (previous == null)
                {
                    previous = groupedByBucket;
                    continue;
                }

                if (string.Compare(previous.Bucket.Code, groupedByBucket.Bucket.Code, StringComparison.Ordinal) >= 0)
                {
                    Assert.Fail("The grouped list should be sorted by Bucket Code in ascending order. {0} >= {1}", previous.Bucket.Code, groupedByBucket.Bucket.Code);
                }

                previous = groupedByBucket;
            }
        }
Пример #4
0
        public void GivenStatementTestData1TransactionsShouldOnlyBePowerBucket()
        {
            TransactionGroupedByBucket subject = Arrange();

            Assert.IsFalse(subject.Transactions.Any(t => t.BudgetBucket != StatementModelTestData.PowerBucket));
        }
Пример #5
0
        public void GivenStatementTestData1TransactionsShouldNotBeNull()
        {
            TransactionGroupedByBucket subject = Arrange();

            Assert.AreEqual(2, subject.Transactions.Count());
        }
Пример #6
0
        public void GivenStatementTestData1TotalDifferenceShouldBe184()
        {
            TransactionGroupedByBucket subject = Arrange();

            Assert.AreEqual(-184.30M, subject.TotalDifference);
        }
Пример #7
0
        public void GivenStatementTestData1TotalCreditsShouldBe0()
        {
            TransactionGroupedByBucket subject = Arrange();

            Assert.AreEqual(0M, subject.TotalCredits);
        }
Пример #8
0
        public void GivenStatementTestData1TotalCountShouldBe2()
        {
            TransactionGroupedByBucket subject = Arrange();

            Assert.AreEqual(2, subject.TotalCount);
        }
Пример #9
0
        public void GivenStatementTestData1MinTransactionDateShouldBe15Jul13()
        {
            TransactionGroupedByBucket subject = Arrange();

            Assert.AreEqual(new DateTime(2013, 07, 15), subject.MinTransactionDate);
        }
Пример #10
0
        public void GivenStatementTestData1HasTransactionsShouldBeTrue()
        {
            TransactionGroupedByBucket subject = Arrange();

            Assert.IsTrue(subject.HasTransactions);
        }
Пример #11
0
        public void GivenStatementTestData1BucketShouldBePowerBucket()
        {
            TransactionGroupedByBucket subject = Arrange();

            Assert.AreEqual(StatementModelTestData.PowerBucket, subject.Bucket);
        }
Пример #12
0
        public void GivenStatementTestData1AverageDebitShouldBe92()
        {
            TransactionGroupedByBucket subject = Arrange();

            Assert.AreEqual(-92.15M, subject.AverageDebit);
        }