diff options
| -rw-r--r-- | bank-eiffel/person.e | 8 | ||||
| -rw-r--r-- | bank-eiffel/tests/test_person.e | 118 |
2 files changed, 105 insertions, 21 deletions
diff --git a/bank-eiffel/person.e b/bank-eiffel/person.e index 93ce339..5f7d0bc 100644 --- a/bank-eiffel/person.e +++ b/bank-eiffel/person.e | |||
| @@ -10,9 +10,9 @@ class | |||
| 10 | create | 10 | create |
| 11 | make | 11 | make |
| 12 | 12 | ||
| 13 | feature {NONE} -- Initialization | 13 | feature -- Initialization |
| 14 | 14 | ||
| 15 | surname: STRING_8 | 15 | surname: STRING_8 assign set_surname |
| 16 | -- Nachname | 16 | -- Nachname |
| 17 | attribute Result := ({like surname}).default end --| Remove line when Void Safety is properly set | 17 | attribute Result := ({like surname}).default end --| Remove line when Void Safety is properly set |
| 18 | 18 | ||
| @@ -20,7 +20,7 @@ feature {NONE} -- Initialization | |||
| 20 | -- Vorname | 20 | -- Vorname |
| 21 | attribute Result := ({like firstname}).default end --| Remove line when Void Safety is properly set | 21 | attribute Result := ({like firstname}).default end --| Remove line when Void Safety is properly set |
| 22 | 22 | ||
| 23 | feature -- Element change | 23 | feature -- Initialization |
| 24 | 24 | ||
| 25 | make (a_surname: like surname; a_firstname: like firstname) | 25 | make (a_surname: like surname; a_firstname: like firstname) |
| 26 | do | 26 | do |
| @@ -28,6 +28,8 @@ feature -- Element change | |||
| 28 | set_firstname (a_firstname) | 28 | set_firstname (a_firstname) |
| 29 | end | 29 | end |
| 30 | 30 | ||
| 31 | feature -- Element change | ||
| 32 | |||
| 31 | set_surname (a_surname: like surname) | 33 | set_surname (a_surname: like surname) |
| 32 | -- Assign `surname' with `a_surname'. | 34 | -- Assign `surname' with `a_surname'. |
| 33 | require | 35 | require |
diff --git a/bank-eiffel/tests/test_person.e b/bank-eiffel/tests/test_person.e index f23df03..cd66ccb 100644 --- a/bank-eiffel/tests/test_person.e +++ b/bank-eiffel/tests/test_person.e | |||
| @@ -15,46 +15,128 @@ inherit | |||
| 15 | 15 | ||
| 16 | feature -- Test routines | 16 | feature -- Test routines |
| 17 | 17 | ||
| 18 | CREATE_PERSON | 18 | CREATE_EDIT_PERSON |
| 19 | local | 19 | local |
| 20 | person: PERSON | 20 | person: PERSON |
| 21 | do | 21 | do |
| 22 | create person.make("SOME_SURNAME", "SOME_FIRSTNAME") | 22 | create person.make("SOME_SURNAME_1", "SOME_FIRSTNAME_1") |
| 23 | assert("CREATE_EDIT_PERSON_FIRSTNAME_1", person.firstname.is_equal("SOME_FIRSTNAME_1")) | ||
| 24 | assert("CREATE_EDIT_PERSON_SURNAME_1", person.surname.is_equal("SOME_SURNAME_1")) | ||
| 25 | |||
| 26 | person.set_firstname("SOME_FIRSTNAME_2") | ||
| 27 | assert("CREATE_EDIT_PERSON_FIRSTNAME_2", person.firstname.is_equal("SOME_FIRSTNAME_2")) | ||
| 28 | person.set_surname("SOME_SURENAME_2") | ||
| 29 | assert("CREATE_EDIT_PERSON_SURNAME_2", person.surname.is_equal("SOME_SURENAME_2")) | ||
| 30 | |||
| 31 | person.firstname := "SOME_FIRSTNAME_3" | ||
| 32 | assert("CREATE_EDIT_PERSON_FIRSTNAME_3", person.firstname.is_equal("SOME_FIRSTNAME_3")) | ||
| 33 | person.surname := "SOME_SURNAME_3" | ||
| 34 | assert("CREATE_EDIT_PERSON_SURNAME_3", person.surname.is_equal("SOME_SURNAME_3")) | ||
| 23 | end | 35 | end |
| 24 | 36 | ||
| 25 | CREATE_PERSON_NO_SURNAME | 37 | CREATE_EDIT_PERSON_EMPTY_SURNAME |
| 26 | local | 38 | local |
| 27 | person: PERSON | 39 | person: PERSON |
| 28 | retried: BOOLEAN | 40 | retry_count: INTEGER |
| 41 | doretry: BOOLEAN | ||
| 29 | do | 42 | do |
| 30 | if not retried then | 43 | if retry_count = 0 then |
| 44 | doretry := True | ||
| 31 | create person.make("", "SOME_FIRSTNAME") | 45 | create person.make("", "SOME_FIRSTNAME") |
| 32 | retried := True | 46 | doretry := False |
| 33 | assert("CREATE_PERSON_NO_SURNAME", False) | 47 | assert("CREATE_EDIT_PERSON_EMPTY_SURNAME_1", False) |
| 48 | elseif retry_count = 1 then | ||
| 49 | create person.make(void, "SOME_FIRSTNAME") | ||
| 50 | doretry := False | ||
| 51 | assert("CREATE_EDIT_PERSON_EMPTY_SURNAME_2", False) | ||
| 52 | elseif retry_count = 2 then | ||
| 53 | doretry := False | ||
| 54 | create person.make("SOME_SURNAME", "SOME_FIRSTNAME") | ||
| 55 | doretry := True | ||
| 56 | person.surname := "" | ||
| 57 | doretry := False | ||
| 58 | assert("CREATE_EDIT_PERSON_EMPTY_SURNAME_3", False) | ||
| 59 | elseif retry_count = 3 then | ||
| 60 | doretry := False | ||
| 61 | create person.make("SOME_SURNAME", "SOME_FIRSTNAME") | ||
| 62 | doretry := True | ||
| 63 | person.surname := void | ||
| 64 | doretry := False | ||
| 65 | assert("CREATE_EDIT_PERSON_EMPTY_SURNAME_4", False) | ||
| 66 | elseif retry_count = 4 then | ||
| 67 | doretry := False | ||
| 68 | create person.make("SOME_SURNAME", "SOME_FIRSTNAME") | ||
| 69 | doretry := True | ||
| 70 | person.set_surname("") | ||
| 71 | doretry := False | ||
| 72 | assert("CREATE_EDIT_PERSON_EMPTY_SURNAME_5", False) | ||
| 73 | elseif retry_count = 5 then | ||
| 74 | doretry := False | ||
| 75 | create person.make("SOME_SURNAME", "SOME_FIRSTNAME") | ||
| 76 | doretry := True | ||
| 77 | person.set_surname(void) | ||
| 78 | doretry := False | ||
| 79 | assert("CREATE_EDIT_PERSON_EMPTY_SURNAME_6", False) | ||
| 80 | else | ||
| 81 | doretry := False | ||
| 34 | end | 82 | end |
| 35 | rescue | 83 | rescue |
| 36 | if not retried then | 84 | if doretry then |
| 37 | retried := True | 85 | retry_count := retry_count + 1 |
| 38 | retry | 86 | retry |
| 39 | end | 87 | end |
| 40 | end | 88 | end |
| 41 | 89 | ||
| 42 | CREATE_PERSON_NO_FIRSTNAME | 90 | CREATE_EDIT_PERSON_EMPTY_FIRSTNAME |
| 43 | local | 91 | local |
| 44 | person: PERSON | 92 | person: PERSON |
| 45 | retried: BOOLEAN | 93 | retry_count: INTEGER |
| 94 | doretry: BOOLEAN | ||
| 46 | do | 95 | do |
| 47 | if not retried then | 96 | if retry_count = 0 then |
| 97 | doretry := True | ||
| 48 | create person.make("SOME_SURNAME", "") | 98 | create person.make("SOME_SURNAME", "") |
| 49 | retried := True | 99 | doretry := False |
| 50 | assert("CREATE_PERSON_NO_FIRSTNAME", False) | 100 | assert("CREATE_EDIT_PERSON_EMPTY_FIRSTNAME_1", False) |
| 101 | elseif retry_count = 1 then | ||
| 102 | create person.make("SOME_SURNAME", void) | ||
| 103 | doretry := False | ||
| 104 | assert("CREATE_EDIT_PERSON_EMPTY_FIRSTNAME_2", False) | ||
| 105 | elseif retry_count = 2 then | ||
| 106 | doretry := False | ||
| 107 | create person.make("SOME_SURNAME", "SOME_FIRSTNAME") | ||
| 108 | doretry := True | ||
| 109 | person.firstname := "" | ||
| 110 | doretry := False | ||
| 111 | assert("CREATE_EDIT_PERSON_EMPTY_FIRSTNAME_3", False) | ||
| 112 | elseif retry_count = 3 then | ||
| 113 | doretry := False | ||
| 114 | create person.make("SOME_SURNAME", "SOME_FIRSTNAME") | ||
| 115 | doretry := True | ||
| 116 | person.firstname := void | ||
| 117 | doretry := False | ||
| 118 | assert("CREATE_EDIT_PERSON_EMPTY_FIRSTNAME_4", False) | ||
| 119 | elseif retry_count = 4 then | ||
| 120 | doretry := False | ||
| 121 | create person.make("SOME_SURNAME", "SOME_FIRSTNAME") | ||
| 122 | doretry := True | ||
| 123 | person.set_firstname("") | ||
| 124 | doretry := False | ||
| 125 | assert("CREATE_EDIT_PERSON_EMPTY_FIRSTNAME_5", False) | ||
| 126 | elseif retry_count = 5 then | ||
| 127 | doretry := False | ||
| 128 | create person.make("SOME_SURNAME", "SOME_FIRSTNAME") | ||
| 129 | doretry := True | ||
| 130 | person.set_firstname(void) | ||
| 131 | doretry := False | ||
| 132 | assert("CREATE_EDIT_PERSON_EMPTY_FIRSTNAME_6", False) | ||
| 133 | else | ||
| 134 | doretry := False | ||
| 51 | end | 135 | end |
| 52 | rescue | 136 | rescue |
| 53 | if not retried then | 137 | if doretry then |
| 54 | retried := True | 138 | retry_count := retry_count + 1 |
| 55 | retry | 139 | retry |
| 56 | end | 140 | end |
| 57 | end | 141 | end |
| 58 | end | 142 | end |
| 59 | |||
| 60 | |||
