forked from state-machines/state_machines
-
Notifications
You must be signed in to change notification settings - Fork 0
/
hybrid_car_test.rb
52 lines (45 loc) · 1.83 KB
/
hybrid_car_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
require_relative '../test_helper'
require_relative '../files/models/hybrid_car'
class HybridCarTest < MiniTest::Test
def setup
@hybrid_car = HybridCar.new
end
def test_should_accept_positional_argument
assert @hybrid_car.go_green(:eco)
assert @hybrid_car.electric?
assert_equal @hybrid_car.propulsion_mode, 'electric'
assert_equal @hybrid_car.driving_profile, :eco
end
def test_should_accept_keyword_argument
assert @hybrid_car.go_gas(driving_profile: :sport)
assert @hybrid_car.gas?
assert_equal @hybrid_car.propulsion_mode, 'gas'
assert_equal @hybrid_car.driving_profile, :sport
end
def test_should_accept_positional_and_keyword_arguments
assert @hybrid_car.go_back_in_time(1995, driving_profile: '1.21 gigawatts')
assert @hybrid_car.flux_capacitor?
assert_equal @hybrid_car.target_year, 1995
assert_equal @hybrid_car.propulsion_mode, 'flux_capacitor'
assert_equal @hybrid_car.driving_profile, '1.21 gigawatts'
end
def test_should_accept_positional_arguments_in_unsafe_method
assert @hybrid_car.go_green!(:eco)
assert @hybrid_car.electric?
assert_equal @hybrid_car.propulsion_mode, 'electric'
assert_equal @hybrid_car.driving_profile, :eco
end
def test_should_accept_keyword_argument_in_unsafe_method
assert @hybrid_car.go_gas!(driving_profile: :sport)
assert @hybrid_car.gas?
assert_equal @hybrid_car.propulsion_mode, 'gas'
assert_equal @hybrid_car.driving_profile, :sport
end
def test_should_accept_positional_and_keyword_arguments_in_unsafe_method
assert @hybrid_car.go_back_in_time!(1995, driving_profile: '1.21 gigawatts')
assert @hybrid_car.flux_capacitor?
assert_equal @hybrid_car.target_year, 1995
assert_equal @hybrid_car.propulsion_mode, 'flux_capacitor'
assert_equal @hybrid_car.driving_profile, '1.21 gigawatts'
end
end