diff options
Diffstat (limited to 'bank-eiffel/retireeaccount.e')
| -rw-r--r-- | bank-eiffel/retireeaccount.e | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/bank-eiffel/retireeaccount.e b/bank-eiffel/retireeaccount.e index 3f56fd4..cf9bc91 100644 --- a/bank-eiffel/retireeaccount.e +++ b/bank-eiffel/retireeaccount.e | |||
| @@ -10,6 +10,16 @@ class | |||
| 10 | inherit | 10 | inherit |
| 11 | ACCOUNT | 11 | ACCOUNT |
| 12 | 12 | ||
| 13 | create | ||
| 14 | make | ||
| 15 | |||
| 13 | invariant | 16 | invariant |
| 14 | authorized_signers_only_one: authorized_signers.count = 1 | 17 | authorized_signers_only_one: authorized_signers.count = 1 |
| 18 | authorized_signers_attached: authorized_signers.linear_representation /= Void | ||
| 19 | authorized_signers_only_retirees: | ||
| 20 | (attached authorized_signers.linear_representation as signers) implies signers.for_all( | ||
| 21 | agent (person: PERSON): BOOLEAN | ||
| 22 | do | ||
| 23 | Result := attached {RETIREE} person | ||
| 24 | end) | ||
| 15 | end | 25 | end |
