View FindAllUsersRequest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class FindAllUsersRequest extends GetRequest { | |
public FindAllUsersRequest(parameters) { | |
super(parameters); | |
} | |
public URL getRequestUrl() { | |
return URL.create("http://www.jbrains.ca/users/all"); | |
} | |
} |
View GetRequestFactory.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class GetRequestFactory { | |
static GetRequest findAllUsers(parameters) { | |
return new GetRequest(requestUrl: URL.create("http://www.jbrains.ca/users/all"), parameters); | |
} | |
} |
View gist:185020
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Controller.initialize() { | |
parachute = Parachute.new(lander) | |
detachment_system = DetachmentSystem.new(parachute) | |
accelerometer = Accelerometer.new() | |
lander = Lander.new(accelerometer, Altimeter.new()) | |
accelerometer.add_observer(detachment_system) | |
} | |
Parachute { | |
needs a lander |
View gist:185026
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
testOpenParachute() { | |
parachute = Parachute.new(lander = mock(Lander)) | |
lander.expects().decelerate() | |
parachute.open() | |
} |
View gist:185027
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
testLanderDecelerates() { | |
accelerometer = mock(Accelerometer) | |
lander = Lander.new(accelerometer) | |
accelerometer.expects().report_acceleration(-50.ms2) | |
lander.decelerate() | |
} |
View gist:185029
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
testAccelerometerCanReportRapidAcceleration() { | |
accelerometer = Accelerometer.new() | |
accelerometer.add_observer(observer = mock(AccelerationObserver)) | |
observer.expects().handle_acceleration_report(-50.ms2) | |
accelerometer.report_acceleration(-50.ms2) | |
} |
View gist:185030
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
AccelerationObserverTest { | |
testAccelerationObserverCanHandleRapidAcceleration() { | |
observer = create_acceleration_observer() // subclass responsibility | |
this_block { | |
observer.handle_acceleration_report(-50.ms2) | |
}.should execute_without_incident | |
} | |
} |
View gist:185031
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DetachmentSystemTest extends AccelerationObserverTest { | |
// I inherit testAccelerationObserverCanHandleRapidAcceleration() | |
create_acceleration_observer() { | |
DetachmentSystem.new(parachute = mock(Parachute)) | |
parachute.expects().detach() | |
} | |
} |
View gist:185032
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DetachmentSystemTest { | |
testRespondsToRapidAcceleration() { | |
detachment_system = DetachmentSystem.new(parachute = mock(Parachute)) | |
parachute.expects().detach() | |
this_block { | |
detachment_system.handle_acceleration_report(-50.ms2) | |
}.should execute_without_incident | |
} | |
} |
View gist:185033
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ParachuteTest { | |
testDetachingWhileLanded() { | |
parachute = Parachute.new(lander = mock(Lander)) | |
lander.stubs().has_landed().to_return(true) | |
this_block { | |
parachute.detach() | |
}.should execute_without_incident | |
} | |
testDetachingWhileNotLanded() { |
OlderNewer