Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Ian Grinspan
ingenieria1_Grinspan_Oppenheim
Commits
7562315e
Commit
7562315e
authored
Jul 04, 2022
by
abiop
Browse files
subo parcial 323-19
parent
86cd6890
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
191322 additions
and
0 deletions
+191322
-0
parcial2/LU323-19/CuisUniversity-5324-abioppenheim.changes
parcial2/LU323-19/CuisUniversity-5324-abioppenheim.changes
+190715
-0
parcial2/LU323-19/CuisUniversity-5324-abioppenheim.image
parcial2/LU323-19/CuisUniversity-5324-abioppenheim.image
+0
-0
parcial2/LU323-19/CuisUniversity-5324-abioppenheim.user.changes
...l2/LU323-19/CuisUniversity-5324-abioppenheim.user.changes
+3
-0
parcial2/LU323-19/segundo-parcial-2022.st
parcial2/LU323-19/segundo-parcial-2022.st
+604
-0
No files found.
parcial2/LU323-19/CuisUniversity-5324-abioppenheim.changes
0 → 100644
View file @
7562315e
This diff is collapsed.
Click to expand it.
parcial2/LU323-19/CuisUniversity-5324-abioppenheim.image
0 → 100644
View file @
7562315e
File added
parcial2/LU323-19/CuisUniversity-5324-abioppenheim.user.changes
0 → 100644
View file @
7562315e
----SNAPSHOT----(4 July 2022 21:55:37) CuisUniversity-5324-abioppenheim.image priorSource: 7929846!
\ No newline at end of file
parcial2/LU323-19/segundo-parcial-2022.st
0 → 100644
View file @
7562315e
!
classDefinition:
#LaddersAndSlidesGameTest
category:
'segundo-parcial-2022'
!
TestCase
subclass:
#LaddersAndSlidesGameTest
instanceVariableNames:
'dice'
classVariableNames:
''
poolDictionaries:
''
category:
'segundo-parcial-2022'
!
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 18:24:39'
!
setUp
dice
_
[
1
@
(
1
)]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 19:57:48'
!
test01GameStartWithBothPlayersOnInitialPositionAndNoWinners
|
game
|
game
_
self
defaultGame
.
self
should:
[
game
winner
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
game
winnerDoesNotExistErrorDescription
equals:
anError
messageText
.
self
deny:
(
game
ended
).
self
assert:
1
@
1
equals:
(
game
possitionOfPlayer:
1
).
self
assert:
1
@
1
equals:
(
game
possitionOfPlayer:
2
).
self
assert:
1
equals:
game
turnOfPlayer
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 19:58:27'
!
test02ExtraPlayerCanNotPlay
|
game
|
game
_
self
defaultGame
.
self
should:
[
game
player:
3
withDice:
dice
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
game
invalidPlayerErrorDescription
equals:
anError
messageText
.
self
assert:
1
equals:
game
turnOfPlayer
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 20:13:57'
!
test03PlayerOneMustStart
|
game
|
game
_
self
defaultGame
.
self
should:
[
game
player:
2
withDice:
self
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
game
isNotPlayersTurnErrorDescription
equals:
anError
messageText
.
self
deny:
(
game
ended
).
self
assert:
1
@
1
equals:
(
game
possitionOfPlayer:
2
).
self
assert:
1
equals:
game
turnOfPlayer
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 19:58:38'
!
test04NegativePlayerCanNotPlay
|
game
|
game
_
self
defaultGame
.
self
should:
[
game
player:
0
withDice:
self
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
game
invalidPlayerErrorDescription
equals:
anError
messageText
.
self
assert:
1
equals:
game
turnOfPlayer
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 19:59:02'
!
test05PlayerOneMoves0OnXAnd0YAndDoesNotMove
|
game
|
game
_
self
defaultGame
.
game
player:
1
withDice:
dice
.
self
assert:
1
@
1
equals:
(
game
possitionOfPlayer:
1
).
self
assert:
2
equals:
game
turnOfPlayer
.
self
deny:
(
game
ended
).
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 19:59:59'
!
test06PlayerOneMoves1OnXAnd0OnYCorrectly
|
game
|
game
_
self
defaultGame
.
game
player:
1
withDice:
[
7
@
6
].
self
assert:
2
@
1
equals:
(
game
possitionOfPlayer:
1
).
self
assert:
2
equals:
game
turnOfPlayer
.
self
deny:
(
game
ended
).
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 20:00:26'
!
test07PlayerOneCanNotPlayTwoTimesInARow
|
game
|
game
_
self
defaultGame
.
game
player:
1
withDice:
[
7
@
6
].
self
should:
[
game
player:
1
withDice:
[
5
@
6
]
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
game
isNotPlayersTurnErrorDescription
equals:
anError
messageText
.
self
deny:
(
game
ended
).
self
assert:
2
@
1
equals:
(
game
possitionOfPlayer:
1
).
self
assert:
2
equals:
game
turnOfPlayer
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 20:41:34'
!
test08PlayerTwoCanNotPlayTwoTimesInARow
|
game map numberOfPlayers
|
numberOfPlayers
_
3
.
map
_
self
defaultMapLimits
.
game
_
LaddersAndSlidesGame
playingWith:
3
onMultilevelMap:
self
defaultMapLimits
withSlides:
self
defaultSlidesMap
andStairs:
self
defaultStairsMap
.
game
player:
1
withDice:
[
7
@
6
].
game
player:
2
withDice:
[
7
@
6
].
self
should:
[
game
player:
2
withDice:
[
5
@
6
]
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
game
isNotPlayersTurnErrorDescription
equals:
anError
messageText
.
self
deny:
(
game
ended
).
self
assert:
2
@
1
equals:
(
game
possitionOfPlayer:
1
).
self
assert:
2
@
1
equals:
(
game
possitionOfPlayer:
2
).
self
assert:
3
equals:
game
turnOfPlayer
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 20:03:11'
!
test09ItIsPlayerOneTurnAfterLastPlayerTurn
|
game
|
game
_
self
defaultGame
.
game
player:
1
withDice:
[
7
@
6
].
game
player:
2
withDice:
[
7
@
6
].
self
deny:
(
game
ended
).
self
assert:
2
@
1
equals:
(
game
possitionOfPlayer:
1
).
self
assert:
2
@
1
equals:
(
game
possitionOfPlayer:
2
).
self
assert:
1
equals:
game
turnOfPlayer
.
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 20:03:36'
!
test10PlayerMovesExceedingTheMinimumLimitOfMapCorrectly
|
game
|
game
_
self
defaultGame
.
game
player:
1
withDice:
[
7
@
7
].
game
player:
2
withDice:
[
6
@
6
].
game
player:
1
withDice:
[
1
@
6
].
self
deny:
(
game
ended
).
self
assert:
1
@
2
equals:
(
game
possitionOfPlayer:
1
).
self
assert:
1
@
1
equals:
(
game
possitionOfPlayer:
2
).
self
assert:
2
equals:
game
turnOfPlayer
.
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 20:03:54'
!
test11PlayerMovesExceedingTheMaximumLimitOfMapCorrectly
|
game
|
game
_
self
defaultGame
.
game
player:
1
withDice:
[
12
@
12
].
self
deny:
(
game
ended
).
self
assert:
2
@
2
equals:
(
game
possitionOfPlayer:
1
).
self
assert:
2
equals:
game
turnOfPlayer
.
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 21:09:14'
!
test12CanNotCreateSlideOnAFloorSmallerThan1
self
should:
[
Slide
fromFloor:
0
andPosition:
0
@
0
toFloor:
2
andPostion:
0
@
0
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
Slide
fromFloorCanNotBeSmallerThanOneErrorDescription
equals:
anError
messageText
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 21:09:14'
!
test13CanNotCreateStairOnAFloorSmallerThan1
self
should:
[
Stair
fromFloor:
0
andPosition:
0
@
0
toFloor:
2
andPostion:
0
@
0
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
Stair
fromFloorCanNotBeSmallerThanOneErrorDescription
equals:
anError
messageText
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 21:15:27'
!
test14CanNotCreateSlideFromAFloorSmallerThanToFloor
self
should:
[
Slide
fromFloor:
1
andPosition:
0
@
0
toFloor:
2
andPostion:
0
@
0
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
Slide
fromFloorCanNotBeSmallerThanToFloorErrorDescription
equals:
anError
messageText
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 21:15:49'
!
test15CanNotCreateStairFromAFloorGreaterThanToFloor
self
should:
[
Stair
fromFloor:
2
andPosition:
0
@
0
toFloor:
1
andPostion:
0
@
0
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
Stair
fromFloorCanNotBeGreaterThanToFloorErrorDescription
equals:
anError
messageText
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 21:35:54'
!
test16CanNotCreateShortCutFromFloorGreaterThatMaximumGameFloor
|
slidesMap
|
slidesMap
_
OrderedCollection
with:
(
Slide
fromFloor:
3
andPosition:
1
@
1
toFloor:
2
andPostion:
1
@
1
).
self
should:
[
LaddersAndSlidesGame
playingWith:
2
onMultilevelMap:
self
defaultMapLimits
withSlides:
slidesMap
andStairs:
self
defaultStairsMap
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
ShortCut
floorCanNotExceedMapFloorsErrorDescription
equals:
anError
messageText
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 21:36:25'
!
test17CanNotCreateShortCutToFloorGreaterThatMaximumGameFloor
|
slidesMap
|
slidesMap
_
OrderedCollection
with:
(
Stair
fromFloor:
1
andPosition:
1
@
1
toFloor:
4
andPostion:
1
@
1
).
self
should:
[
LaddersAndSlidesGame
playingWith:
2
onMultilevelMap:
self
defaultMapLimits
withSlides:
slidesMap
andStairs:
self
defaultStairsMap
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
ShortCut
floorCanNotExceedMapFloorsErrorDescription
equals:
anError
messageText
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'tests'
stamp:
'ao 7/4/2022 21:42:25'
!
test18CanNotCreateMultiplesShortCutsOnSamePosition
|
slidesMap
|
slidesMap
_
OrderedCollection
with:
(
Stair
fromFloor:
1
andPosition:
1
@
1
toFloor:
2
andPostion:
1
@
1
)
with:
(
Stair
fromFloor:
1
andPosition:
1
@
1
toFloor:
2
andPostion:
1
@
2
).
self
should:
[
LaddersAndSlidesGame
playingWith:
2
onMultilevelMap:
self
defaultMapLimits
withSlides:
slidesMap
andStairs:
self
defaultStairsMap
]
raise:
Error
-
MessageNotUnderstood
withExceptionDo:
[
:
anError
|
self
assert:
LaddersAndSlidesGame
invalidShortCutsPositionsErrorDescription
equals:
anError
messageText
.
]
! !
!
LaddersAndSlidesGameTest
methodsFor:
'defaultObjects'
stamp:
'ao 7/4/2022 20:41:34'
!
defaultGame
^
LaddersAndSlidesGame
playingWith:
2
onMultilevelMap:
self
defaultMapLimits
withSlides:
self
defaultSlidesMap
andStairs:
self
defaultStairsMap
! !
!
LaddersAndSlidesGameTest
methodsFor:
'defaultObjects'
stamp:
'ao 7/4/2022 19:56:02'
!
defaultMapLimits
^
Dictionary
new
at:
1
put:
(
2
@
2
);
at:
2
put:
(
2
@
2
);
yourself
.
! !
!
LaddersAndSlidesGameTest
methodsFor:
'defaultObjects'
stamp:
'ao 7/4/2022 20:35:40'
!
defaultSlidesMap
^
OrderedCollection
new
.
! !
!
LaddersAndSlidesGameTest
methodsFor:
'defaultObjects'
stamp:
'ao 7/4/2022 20:35:43'
!
defaultStairsMap
^
OrderedCollection
new
.
! !
!
classDefinition:
#LaddersAndSlidesGame
category:
'segundo-parcial-2022'
!
Object
subclass:
#LaddersAndSlidesGame
instanceVariableNames:
'numberOfPlayers map turnOfPlayer playersPosition playersLevels'
classVariableNames:
''
poolDictionaries:
''
category:
'segundo-parcial-2022'
!
!
LaddersAndSlidesGame
methodsFor:
'initialization'
stamp:
'ao 7/4/2022 19:28:29'
!
initialPlayersLevels
playersLevels
_
Dictionary
new
.
1
to:
numberOfPlayers
do:
[
:
player
|
playersLevels
at:
player
put:
1
].
^
playersLevels
! !
!
LaddersAndSlidesGame
methodsFor:
'initialization'
stamp:
'ao 7/4/2022 19:28:22'
!
initialPlayersPosition
playersPosition
_
Dictionary
new
.
1
to:
numberOfPlayers
do:
[
:
player
|
playersPosition
at:
player
put:
1
@
1
].
^
playersPosition
! !
!
LaddersAndSlidesGame
methodsFor:
'initialization'
stamp:
'ao 7/4/2022 20:08:31'
!
initializePlayingWith:
aNumberOfPlayers
onMultilevelMap:
aMap
withSlides:
aSlidesMap
andStairs:
aStairsMap
numberOfPlayers
:=
aNumberOfPlayers
.
map
:=
aMap
.
turnOfPlayer
:=
1
.
playersPosition
_
self
initialPlayersPosition
.
playersLevels
_
self
initialPlayersLevels
.
! !
!
LaddersAndSlidesGame
methodsFor:
'test'
stamp:
'ao 7/4/2022 17:54:36'
!
ended
^
false
! !
!
LaddersAndSlidesGame
methodsFor:
'test'
stamp:
'ao 7/4/2022 18:51:04'
!
possitionOfPlayer:
aPlayer
^
playersPosition
at:
aPlayer
! !
!
LaddersAndSlidesGame
methodsFor:
'test'
stamp:
'ao 7/4/2022 18:23:08'
!
turnOfPlayer
^
turnOfPlayer
! !
!
LaddersAndSlidesGame
methodsFor:
'test'
stamp:
'ao 7/4/2022 17:58:56'
!
winner
^
self
error:
self
winnerDoesNotExistErrorDescription
! !
!
LaddersAndSlidesGame
methodsFor:
'error'
stamp:
'ao 7/4/2022 18:09:26'
!
invalidPlayerErrorDescription
^
'invalid player'
! !
!
LaddersAndSlidesGame
methodsFor:
'error'
stamp:
'ao 7/4/2022 18:11:34'
!
isNotPlayersTurnErrorDescription
^
'is not players turn'
! !
!
LaddersAndSlidesGame
methodsFor:
'error'
stamp:
'ao 7/4/2022 17:59:24'
!
winnerDoesNotExistErrorDescription
^
'winner does not exist'
! !
!
LaddersAndSlidesGame
methodsFor:
'playing'
stamp:
'ao 7/4/2022 19:50:22'
!
assertPlayersTurn:
aPlayer
(
aPlayer
~=
turnOfPlayer
)
ifTrue:
[
self
error:
self
isNotPlayersTurnErrorDescription
].
! !
!
LaddersAndSlidesGame
methodsFor:
'playing'
stamp:
'ao 7/4/2022 19:49:28'
!
assertValidPlayer:
aPlayer
(
aPlayer
>
numberOfPlayers
or:
[
aPlayer
<
1
])
ifTrue:
[
^
self
error:
self
invalidPlayerErrorDescription
].
! !
!
LaddersAndSlidesGame
methodsFor:
'playing'
stamp:
'ao 7/4/2022 19:48:14'
!
calculateNextTurn
turnOfPlayer
:=
turnOfPlayer
+
1
.
(
turnOfPlayer
>
numberOfPlayers
)
ifTrue:
[
turnOfPlayer
:=
1
]
! !
!
LaddersAndSlidesGame
methodsFor:
'playing'
stamp:
'ao 7/4/2022 19:52:10'
!
newPositionOf:
aPlayer
with:
aDice
|
levelLimit newPosition move
|
move
_
aDice
value
-
(
6
@
6
).
levelLimit
_
map
at:
(
playersLevels
at:
aPlayer
).
newPosition
_
(
playersPosition
at:
aPlayer
)
+
move
.
newPosition
_
(
1
@
1
)
max:
newPosition
.
^
levelLimit
min:
newPosition
! !
!
LaddersAndSlidesGame
methodsFor:
'playing'
stamp:
'ao 7/4/2022 19:53:53'
!
player:
aPlayer
withDice:
aDice
|
newPosition
|
self
assertValidPlayer:
aPlayer
.
self
assertPlayersTurn:
aPlayer
.
newPosition
_
self
newPositionOf:
aPlayer
with:
aDice
.
playersPosition
at:
aPlayer
put:
newPosition
.
self
calculateNextTurn
.
! !
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "
!
!
classDefinition:
'LaddersAndSlidesGame class'
category:
'segundo-parcial-2022'
!
LaddersAndSlidesGame
class
instanceVariableNames:
''
!
!
LaddersAndSlidesGame
class
methodsFor:
'instance creation'
stamp:
'ao 7/4/2022 21:46:54'
!
playingWith:
aNumberOfPlayers
onMultilevelMap:
aMap
withSlides:
aSlidesMap
andStairs:
aStairsMap
self
assertShortCutsFloorsWithSlides:
aSlidesMap
AndStairs:
aStairsMap
doesNotExceed:
aMap
size
.
self
assertShortCutsPositionsDoNotRepeatWithSlides:
aSlidesMap
andStairs:
aStairsMap
.
^
self
new
initializePlayingWith:
aNumberOfPlayers
onMultilevelMap:
aMap
withSlides:
aSlidesMap
andStairs:
aStairsMap
! !
!
LaddersAndSlidesGame
class
methodsFor:
'errorSignals'
stamp:
'ao 7/4/2022 21:42:43'
!
invalidShortCutsPositionsErrorDescription
^
'invalid hort Cuts Positions'
! !
!
LaddersAndSlidesGame
class
methodsFor:
'errorSignals'
stamp:
'ao 7/4/2022 20:24:07'
!
invalidSlidesMapErrorDescription
^
'invalid slides map'
! !
!
LaddersAndSlidesGame
class
methodsFor:
'assertions'
stamp:
'ao 7/4/2022 21:45:10'
!
assertShortCutsFloorsWithSlides:
aSlidesMap
AndStairs:
aStairsMap
doesNotExceed:
aFloorLimit
aSlidesMap
allSatisfy:
[
:
slide
|
slide
assertFloors:
aFloorLimit
].
aStairsMap
allSatisfy:
[
:
slide
|
slide
assertFloors:
aFloorLimit
].
! !
!
LaddersAndSlidesGame
class
methodsFor:
'assertions'
stamp:
'ao 7/4/2022 21:47:08'
!
assertShortCutsPositionsDoNotRepeatWithSlides:
aSlidesMap
andStairs:
aStairsMap
! !
!
classDefinition:
#ShortCut
category:
'segundo-parcial-2022'
!
Object
subclass:
#ShortCut
instanceVariableNames:
'fromFloor fromPosition toFloor toPosition'
classVariableNames:
''
poolDictionaries:
''
category:
'segundo-parcial-2022'
!
!
ShortCut
methodsFor:
'initialize'
stamp:
'ao 7/4/2022 21:04:21'
!
initializeFromFloor:
aFromFloor
andPosition:
aFromPosition
toFloor:
aToFloor
andPostion:
aToPosition
fromFloor
_
aFromFloor
.
fromPosition
_
aFromPosition
.
toFloor
_
aToFloor
.
toPosition
_
aToPosition
! !
!
ShortCut
methodsFor:
'assertions'
stamp:
'ao 7/4/2022 21:36:55'
!
assertFloors:
aLimitFloor
(
toFloor
<=
aLimitFloor
or:
[
fromFloor
<=
aLimitFloor
])
ifTrue:
[
^
self
error:
self
class
floorCanNotExceedMapFloorsErrorDescription
]
! !
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "
!
!
classDefinition:
'ShortCut class'
category:
'segundo-parcial-2022'
!
ShortCut
class
instanceVariableNames:
''
!
!
ShortCut
class
methodsFor:
'initialization'
stamp:
'ao 7/4/2022 21:09:15'
!
fromFloor:
aFromFloor
andPosition:
aFromPosition
toFloor:
aToFloor
andPostion:
aToposition
aFromFloor
<
1
ifTrue:
[
^
self
error:
self
fromFloorCanNotBeSmallerThanOneErrorDescription
].
self
assertFloorDirectionFromFloor:
aFromFloor
toFloor:
aToFloor
.
^
self
new
initializeFromFloor:
aFromFloor
andPosition:
aFromPosition
toFloor:
aToFloor
andPostion:
aToposition
! !
!
ShortCut
class
methodsFor:
'errorSignals'
stamp:
'ao 7/4/2022 21:30:33'
!
floorCanNotExceedMapFloorsErrorDescription
^
'floor Can Not Exceed Map Floors Error Description'
! !
!
ShortCut
class
methodsFor:
'errorSignals'
stamp:
'ao 7/4/2022 21:21:33'
!
floorCanNotExceedsMapFloorsErrorDescription
^
'floor can not exceeds map floors'
! !
!
ShortCut
class
methodsFor:
'errorSignals'
stamp:
'ao 7/4/2022 21:09:19'
!
fromFloorCanNotBeSmallerThanOneErrorDescription
^
'from floor can not be smaller than one'
! !
!
ShortCut
class
methodsFor:
'assertions'
stamp:
'ao 7/4/2022 21:06:21'
!
assertFloorDirectionFromFloor:
aFromFloor
toFloor:
aToFloor
self
subclassResponsibility
! !
!
classDefinition:
#Slide
category:
'segundo-parcial-2022'
!
ShortCut
subclass:
#Slide
instanceVariableNames:
''
classVariableNames:
''
poolDictionaries:
''
category:
'segundo-parcial-2022'
!
!
Slide
methodsFor:
'initialization'
stamp:
'ao 7/4/2022 20:47:47'
!
initializeFromFloor:
aFromFloor
andPosition:
aFromPosition
toFloor:
aToFloor
andPostion:
aToPosition
fromFloor
:=
aFromFloor
.
fromPosition
:=
aFromPosition
.
toFloor
:=
aToFloor
.
toPosition
:=
aToPosition
.
! !
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "
!
!
classDefinition:
'Slide class'
category:
'segundo-parcial-2022'
!
Slide
class
instanceVariableNames:
''
!
!
Slide
class
methodsFor:
'assertion'
stamp:
'ao 7/4/2022 21:13:40'
!
assertFloorDirectionFromFloor:
aFromFloor
toFloor:
aToFloor
aFromFloor
<
aToFloor
ifTrue:
[
^
self
error:
self
fromFloorCanNotBeSmallerThanToFloorErrorDescription
].
! !
!
Slide
class
methodsFor:
'error'
stamp:
'ao 7/4/2022 21:13:40'
!
fromFloorCanNotBeSmallerThanToFloorErrorDescription
^
'from floor can not be smaller than to floor'
! !
!
classDefinition:
#Stair
category:
'segundo-parcial-2022'
!
ShortCut
subclass:
#Stair
instanceVariableNames:
''
classVariableNames:
''
poolDictionaries:
''
category:
'segundo-parcial-2022'
!
"-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- "
!
!
classDefinition:
'Stair class'
category:
'segundo-parcial-2022'
!
Stair
class
instanceVariableNames:
''
!
!
Stair
class
methodsFor:
'assertion'
stamp:
'ao 7/4/2022 21:16:21'
!
assertFloorDirectionFromFloor:
aFromFloor
toFloor:
aToFloor
aFromFloor
>
aToFloor
ifTrue:
[
^
self
error:
self
fromFloorCanNotBeGreaterThanToFloorErrorDescription
].
! !
!
Stair
class
methodsFor:
'assertion'
stamp:
'ao 7/4/2022 21:14:44'
!
fromFloorCanNotBeGreaterThanToFloorErrorDescription
^
'from floor can not be greater than to floor'
! !
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment