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)); }
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)); }
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); }
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); }
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); }
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); }
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)); }
public Account UpdateAccount(Account account) { return _repository.Persist(account); }