Added 3 acceptance test TODOs.
Working on TODO: a normal pressure value should not raise the alarm. Wrote an assertion.
Wrote the intention code of the Act and Arrange parts of test a_normal_pressure_value_should_not_raise_the_alarm().
Created class FakeSensor and made it implement the interface Detector.
Created interface Detector.
Made class Sensor implement the interface Detector.
Updated the intention code to be Alarm.LOW_PRESSURE_THRESHOLD in the Arrange part of test a_normal_pressure_value_should_not_raise_the_alarm().
Made the two final fields of class Alarm to be public and renamed them to be all upper case.
Created method FakeSensor.fakeNextPressurePsiValue().
Created and implemented constructor Alarm(Detector).
Created and implemented constructor Alarm() to retain the original interface.
Working on TODO: Depending on a concrete Sensor violates the Dependency Inversion Principle and Open-Closed Principle.
Wrote the intention code in the method Alarm.check() to make the class Alarm depend on abstractions - the interface Detector.
Added the declaration of the method popNextPressurePsiValue() in the interface Detector.
Created and implemented the method FakeSensor.popNextPressurePsiValue().
Finished TODO: a normal pressure value should not raise the alarm.
Finished TODO: a pressure value outside the range should raise the alarm.
Working on TODO: a normal pressure value after a value outside the range should not stop the alarm. Wrote an assertion.
Wrote the intention code for the Act and Arrange parts of the test a_normal_pressure_value_after_a_value_outside_the_range_should_not_stop_the_alarm().
Created and implemented method FakeSensor.fakeNextThreePressurePsiValues().