Skip to content

Commit

Permalink
Refactor User and Trial
Browse files Browse the repository at this point in the history
  • Loading branch information
dessy committed Nov 16, 2014
1 parent 1ff3628 commit 870fa8b
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 18 deletions.
21 changes: 14 additions & 7 deletions pedometer/models/trial.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,21 @@ def initialize(name = nil, rate = nil, steps = nil, method = nil)
end

private

def integer_or_default(val, default, greater_than_val)
int = val.to_i
if (int.to_s == val.to_s)
(int > greater_than_val) ? int : default
else
default
end
int = Integer(val)
(int > greater_than_val) ? int : default
rescue ArgumentError, TypeError
default
end

# def integer_or_default(val, default, greater_than_val)
# int = val.to_i
# if (int.to_s == val.to_s)
# (int > greater_than_val) ? int : default
# else
# default
# end
# end

end
19 changes: 13 additions & 6 deletions pedometer/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,21 @@ def initialize(gender = nil, height = nil, stride = nil)
private

def float_or_default(val, default, greater_than_val)
float = val.to_f
if (float.to_s == val.to_s || float.to_s.gsub('.0', '') == val.to_s)
(float > greater_than_val) ? float : default
else
default
end
float = Float(val)
(float > greater_than_val) ? float : default
rescue ArgumentError, TypeError
default
end

# def float_or_default(val, default, greater_than_val)
# float = val.to_f
# if (float.to_s == val.to_s || float.to_s.gsub('.0', '') == val.to_s)
# (float > greater_than_val) ? float : default
# else
# default
# end
# end

def calculate_stride
if gender && height
MULTIPLIERS[@gender] * height
Expand Down
50 changes: 45 additions & 5 deletions pedometer/test/unit/trial_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@ def test_create_with_rate
assert_equal 100, Trial.new(nil, nil).rate
assert_equal 100, Trial.new(nil, '').rate
assert_equal 100, Trial.new(nil, 'bad rate').rate
assert_equal 100, Trial.new(nil, 2.0).rate
assert_equal 100, Trial.new(nil, 1.7).rate

assert_equal 2, Trial.new(nil, 2.0).rate
assert_equal 1, Trial.new(nil, 1.7).rate
assert_equal 100, Trial.new(nil, 0.5).rate

assert_equal 100, Trial.new(nil, 0).rate
Expand All @@ -43,9 +44,10 @@ def test_create_with_steps
assert_nil Trial.new(nil, nil, nil).steps
assert_nil Trial.new(nil, nil, '').steps
assert_nil Trial.new(nil, nil, 'bad steps').steps
assert_nil Trial.new(nil, nil, 2.0).steps
assert_nil Trial.new(nil, nil, 1.7).steps
assert_nil Trial.new(nil, nil, 0.5).steps

assert_equal 2, Trial.new(nil, nil, 2.0).steps
assert_equal 1, Trial.new(nil, nil, 1.7).steps
assert_equal 0, Trial.new(nil, nil, 0.5).steps

assert_equal 0, Trial.new(nil, nil, 0).steps
assert_equal 0, Trial.new(nil, nil, '0').steps
Expand All @@ -57,4 +59,42 @@ def test_create_with_steps
assert_equal 2, Trial.new(nil, nil, 2).steps
end

# def test_create_with_rate
# assert_equal 100, Trial.new(nil).rate
# assert_equal 100, Trial.new(nil, nil).rate
# assert_equal 100, Trial.new(nil, '').rate
# assert_equal 100, Trial.new(nil, 'bad rate').rate
# assert_equal 100, Trial.new(nil, 2.0).rate
# assert_equal 100, Trial.new(nil, 1.7).rate
# assert_equal 100, Trial.new(nil, 0.5).rate

# assert_equal 100, Trial.new(nil, 0).rate
# assert_equal 100, Trial.new(nil, '0').rate

# assert_equal 100, Trial.new(nil, -1).rate
# assert_equal 100, Trial.new(nil, '-1').rate

# assert_equal 2, Trial.new(nil, '2').rate
# assert_equal 2, Trial.new(nil, 2).rate
# end

# def test_create_with_steps
# assert_nil Trial.new(nil, nil).steps
# assert_nil Trial.new(nil, nil, nil).steps
# assert_nil Trial.new(nil, nil, '').steps
# assert_nil Trial.new(nil, nil, 'bad steps').steps
# assert_nil Trial.new(nil, nil, 2.0).steps
# assert_nil Trial.new(nil, nil, 1.7).steps
# assert_nil Trial.new(nil, nil, 0.5).steps

# assert_equal 0, Trial.new(nil, nil, 0).steps
# assert_equal 0, Trial.new(nil, nil, '0').steps

# assert_nil Trial.new(nil, nil, -1).steps
# assert_nil Trial.new(nil, nil, '-1').steps

# assert_equal 2, Trial.new(nil, nil, '2').steps
# assert_equal 2, Trial.new(nil, nil, 2).steps
# end

end

0 comments on commit 870fa8b

Please sign in to comment.