public void SaveLedgerAndRetreiveByWithdrawIdTest_SavesMultipleObjectInDatabase_ChecksIfTheoutputIsAsExpected() { Ledger ledger = new Ledger("1234", DateTime.Now, LedgerType.Trade, new Currency("LTC", true), 1000.543m, 0.005m, 23000, null, null, "withdraw123", null, new AccountId(1)); _persistanceRepository.SaveOrUpdate(ledger); Ledger ledger2 = new Ledger("12345", DateTime.Now, LedgerType.Trade, new Currency("LTC", true), 2000.543m, 0.005m, 3000, null, null, "withdraw1234", null, new AccountId(1)); _persistanceRepository.SaveOrUpdate(ledger2); Thread.Sleep(500); Ledger retrievedLedger1 = _ledgerRepository.GetLedgersByWithdrawId("withdraw123"); Assert.IsNotNull(retrievedLedger1); Assert.AreEqual(ledger.Currency.Name, retrievedLedger1.Currency.Name); Assert.AreEqual(ledger.LedgerId, retrievedLedger1.LedgerId); Assert.AreEqual(ledger.LedgerType, retrievedLedger1.LedgerType); Assert.AreEqual(ledger.Amount, retrievedLedger1.Amount); Assert.AreEqual(ledger.Fee, retrievedLedger1.Fee); Assert.AreEqual(ledger.Balance, retrievedLedger1.Balance); Assert.AreEqual(ledger.TradeId, retrievedLedger1.TradeId); Assert.AreEqual(ledger.OrderId, retrievedLedger1.OrderId); Assert.AreEqual(ledger.AccountId.Value, retrievedLedger1.AccountId.Value); Ledger retrievedLedger2 = _ledgerRepository.GetLedgersByWithdrawId("withdraw1234"); Assert.AreEqual(ledger2.Currency.Name, retrievedLedger2.Currency.Name); Assert.AreEqual(ledger2.LedgerId, retrievedLedger2.LedgerId); Assert.AreEqual(ledger2.LedgerType, retrievedLedger2.LedgerType); Assert.AreEqual(ledger2.Amount, retrievedLedger2.Amount); Assert.AreEqual(ledger2.Fee, retrievedLedger2.Fee); Assert.AreEqual(ledger2.Balance, retrievedLedger2.Balance); Assert.AreEqual(ledger2.TradeId, retrievedLedger2.TradeId); Assert.AreEqual(ledger2.OrderId, retrievedLedger2.OrderId); Assert.AreEqual(ledger2.AccountId.Value, retrievedLedger2.AccountId.Value); }