😏
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import unittest
|
||||
|
||||
from ledger import Ledger
|
||||
|
||||
|
||||
class HoldoutLedgerTests(unittest.TestCase):
|
||||
def test_rejected_id_remains_globally_available(self):
|
||||
ledger = Ledger()
|
||||
with self.assertRaises(ValueError):
|
||||
ledger.apply("shared", "a", -1)
|
||||
self.assertEqual(ledger.apply("shared", "b", 3), 3)
|
||||
|
||||
def test_successful_id_is_global_across_accounts(self):
|
||||
ledger = Ledger()
|
||||
ledger.apply("shared", "a", 3)
|
||||
self.assertEqual(ledger.apply("shared", "b", 9), 0)
|
||||
@@ -0,0 +1,13 @@
|
||||
import unittest
|
||||
|
||||
from ledger import Ledger
|
||||
|
||||
|
||||
class HoldoutLedgerTests(unittest.TestCase):
|
||||
def test_multiple_rejections_do_not_consume_id(self):
|
||||
ledger = Ledger()
|
||||
for _ in range(2):
|
||||
with self.assertRaises(ValueError):
|
||||
ledger.apply("withdraw", "a", -2)
|
||||
ledger.apply("fund", "a", 4)
|
||||
self.assertEqual(ledger.apply("withdraw", "a", -2), 2)
|
||||
Reference in New Issue
Block a user