Пример #1
0
 public Transaction(DateTime trnasactionTime, double amount, Account sendingAccount, Account receivingAccount)
 {
     TransactionTime = trnasactionTime;
     Amount = amount;
     SendingAccount = sendingAccount;
     ReceivingAccount = receivingAccount;
 }
        public void UpdateAccount_Should_Persist_Account_In_Repository()
        {
            var account = new Account();

            _sut.UpdateAccount(account);

            A.CallTo(() => _repository.Persist(account))
                .MustHaveHappened();
        }
        public void UpdateAccount_Should_Return_Account_From_Repository()
        {
            var expected = new Account();
            A.CallTo(() => _repository.Persist(A<Account>._))
                .Returns(expected);

            var result = _sut.UpdateAccount(new Account());

            Assert.That(result, Is.EqualTo(expected));
        }
        public void GetAccountById_Should_Return_Account_From_Repository()
        {
            var expected = new Account();
            A.CallTo(() => _repository.FindById(A<int>._))
                .Returns(expected);

            var result = _sut.GetAccountById(11);

            Assert.That(result, Is.EqualTo(expected));
        }
Пример #5
0
        public void Persisted_Data_Should_Be_Accesible_By_Id_Via_FindById()
        {
            var someTransientModel = new Account { Id = null, Balance = 10, Name = "Bla" };

            var persisted = _sut.Persist(someTransientModel);
            var actual = _sut.FindById(persisted.Id.Value);

            Assert.That(actual.Id, Is.EqualTo(persisted.Id));
            Assert.That(actual.Balance, Is.EqualTo(persisted.Balance));
            Assert.That(actual.Name, Is.EqualTo(persisted.Name));
        }
Пример #6
0
        public void GetAll_Returns_All_Items()
        {
            var model1 = new Account { Id = null, Balance = 10, Name = "Bla" };
            var model2 = new Account { Id = null, Balance = 12, Name = "BlaBla" };

            _sut.Persist(model1);
            _sut.Persist(model2);
            var result = _sut.GetAll();

            Assert.That(result.Count(), Is.EqualTo(2));
            CollectionAssert.AllItemsAreUnique(result);
        }
Пример #7
0
        public void Persist_Should_Return_Copy_Of_Transient_Object_With_Id_Assigned()
        {
            var someTransientModel = new Account { Id = null, Balance = 10, Name = "Bla" };

            var result = _sut.Persist(someTransientModel);

            Assert.That(result, Is.Not.Null);

            Assert.That(result, Is.Not.SameAs(someTransientModel));
            Assert.That(result.Balance, Is.EqualTo(someTransientModel.Balance));
            Assert.That(result.Name, Is.EqualTo(someTransientModel.Name));
            Assert.That(result.Id.HasValue);
        }
Пример #8
0
        public void Persisted_Object_With_Already_Existing_Id_Should_Evict_Previus_Data()
        {
            var someTransientModel = new Account { Id = null, Balance = 10, Name = "Bla" };

            var persisted = _sut.Persist(someTransientModel);
            var anotherWithSameId = new Account { Id = persisted.Id, Balance = 1121210, Name = "xd^grrr" };
            _sut.Persist(anotherWithSameId);
            var actual = _sut.FindById(persisted.Id.Value);

            Assert.That(actual.Id, Is.EqualTo(persisted.Id));
            Assert.That(actual.Balance, Is.EqualTo(anotherWithSameId.Balance));
            Assert.That(actual.Name, Is.EqualTo(anotherWithSameId.Name));
        }
        public void AddAccountToBudget_Should_Return_Budget_With_Added_Account()
        {
            var budgetId = 11;
            var accountId = 7;
            var expectedBudget = new Budget { RelatedAccounts = new List<Account>() };
            var expectedAccount = new Account { Id = accountId };
            A.CallTo(() => _accountRepository.FindById(accountId))
                .Returns(expectedAccount);
            A.CallTo(() => _budgetRepository.FindById(budgetId))
                .Returns(expectedBudget);
            A.CallTo(() => _budgetRepository.Persist(A<Budget>._))
                .Returns(expectedBudget);

            var result = _sut.AddAccountToBudget(budgetId, accountId);

            CollectionAssert.Contains(result.RelatedAccounts, expectedAccount);
        }
Пример #10
0
        public void Remove_Should_Remove_Item_Of_Same_Id_From_Storage()
        {
            var someTransientModel = new Account { Id = null, Balance = 10, Name = "Bla" };

            var persisted = _sut.Persist(someTransientModel);
            var anotherWithSameId = new Account { Id = persisted.Id };
            _sut.Remove(anotherWithSameId);

            var actual = _sut.FindById(persisted.Id.Value);

            Assert.That(actual, Is.Null);
        }
Пример #11
0
        public void Subsequent_Persist_Calls_Objects_Should_Assign_Different_Id()
        {
            var someTransientModel = new Account { Id = null, Balance = 10, Name = "Bla" };
            var anotherTransientModel = (Account)someTransientModel.Clone();

            var result1 = _sut.Persist(someTransientModel);
            var result2 = _sut.Persist(anotherTransientModel);

            Assert.That(result1, Is.Not.Null);
            Assert.That(result2, Is.Not.Null);

            Assert.That(result1, Is.Not.SameAs(someTransientModel));
            Assert.That(result2, Is.Not.SameAs(someTransientModel));
            Assert.That(result1, Is.Not.SameAs(result2));
            Assert.That(result1.Id, Is.Not.Null);
            Assert.That(result2.Id, Is.Not.Null);
            Assert.That(result1.Id, Is.Not.EqualTo(result2.Id));
        }
Пример #12
0
 public Account UpdateAccount(Account account)
 {
     return _repository.Persist(account);
 }