Acme-FishFarm

 view release on metacpan or  search on metacpan

t/08-water_level_maintainer.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;
use warnings;
use Test::More;

BEGIN {
    use_ok( "Acme::FishFarm::WaterLevelMaintainer" ) || BAIL_OUT;
}

my $water_level = Acme::FishFarm::WaterLevelMaintainer->install;
is( $water_level->current_water_level, 5, "Correct default water level" );
$water_level->current_water_level(10);
is( $water_level->current_water_level, 10, "Correct new water level" );

is( $water_level->low_water_level_threshold, 2, "Correct default water level threshold" );
is( $water_level->water_level_increase_height, 0.5, "Correct default water level to increase" );

$water_level->set_low_water_level_threshold(5);
$water_level->set_water_level_increase_height(1.2);
is( $water_level->low_water_level_threshold, 5, "Correct new water level threshold" );
is( $water_level->water_level_increase_height, 1.2, "Correct new water level to increase" );

$water_level->pump_water_in; # 10+1.2=11.2
is( $water_level->current_water_level, 11.2, "Correct height after pumping water" );
is( $water_level->is_low_water_level, 0, "Water level not low yet" );
$water_level->current_water_level(3);
is( $water_level->is_low_water_level, 1, "Time to pump water in!" );


done_testing;

# besiyata d'shmaya





( run in 0.454 second using v1.01-cache-2.11-cpan-5a3173703d6 )