예제 #1
0
        public void SimpleEntry()
        {
            var accounting = new Accounting();

            var entry = new Entry("debit-account", "credit-account", 100m);
            accounting.Register(entry);

            Assert.That(accounting.GetAccountBalance("debit-account"), Is.EqualTo(-100));
            Assert.That(accounting.GetAccountBalance("credit-account"), Is.EqualTo(100));
        }
예제 #2
0
 public void Register(Entry entry)
 {
     foreach (var acc in entry.DebitAccounts)
     {
         if (!accounts.Keys.Contains(acc.Key))
             accounts.Add(acc.Key, 0m);
         accounts[acc.Key] -= acc.Value;
     }
     foreach (var acc in entry.CreditAccounts)
     {
         if (!accounts.Keys.Contains(acc.Key))
             accounts.Add(acc.Key, 0m);
         accounts[acc.Key] += acc.Value;
     }
 }