public void Add_TransactionsWithSameValuesButNoTransactionId_AddsBothEvenIfDuplicate()
        {
            var expense = TestExpensesFactory.GetTestExpense(new DateTime(2018, 3, 9), "dummyCategory");

            this.repo.Insert(new Transaction[] { expense });

            expense.TransactionId = "0";
            this.Sut.Insert(new Transaction[] { expense });
            var results = this.Sut.GetAll();

            Assert.AreEqual(2, results.Count());
            var result = results.First();

            Assert.AreEqual(new DateTime(2018, 3, 9), result.Date);
        }
        public void Add_TransactionsWhenSameTransactionIdExists_Throws()
        {
            var expense = TestExpensesFactory.GetTestExpense(new DateTime(2018, 3, 9), "dummyCategory");

            expense.TransactionId = Guid.NewGuid().ToString();
            expense.Type          = TransactionType.Expense;
            this.repo.Insert(new Transaction[] { expense });

            this.repo.Insert(new Transaction[] { expense });
            var results = this.Sut.GetAll();

            Assert.AreEqual(1, results.Count());
            var result = results.First();

            Assert.AreEqual(new DateTime(2018, 3, 9), result.Date);
        }