Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.08 KB | None | 0 0
  1. require 'test/unit'
  2.  
  3. class Score
  4.     attr_reader :score1
  5.     attr_reader :score2
  6.  
  7.     attr_reader :draw
  8.     attr_reader :win1
  9.     attr_reader :win2
  10.  
  11.     def initialize(score1 = nil, score2 = nil)
  12.         @score1, @score2 = score1, score2
  13.  
  14.         @draw = score1 == score2
  15.         @win2 = !@win1 = score1 > score2
  16.     end
  17.  
  18.     def compare(score)
  19.         if score.score1 == @score1 && score.score2 == @score2
  20.             2
  21.         elsif (score.draw && @draw) || (score.win1 == @win1 && score.win2 == @win2)
  22.             1
  23.         else
  24.             0
  25.         end
  26.     end
  27. end
  28.  
  29. class ScoreTest < Test::Unit::TestCase
  30.     def test_exact_score
  31.         user_score = Score.new(4,1)
  32.         sys_score = Score.new(4,1)
  33.  
  34.         assert_equal(2, user_score.compare(sys_score))
  35.     end
  36.  
  37.     def test_draw
  38.         user_score = Score.new(2,2)
  39.         sys_score = Score.new(1,1)
  40.  
  41.         assert_equal(1, user_score.compare(sys_score))
  42.     end
  43.  
  44.     def test_win_team
  45.         user_score = Score.new(4,1)
  46.         sys_score = Score.new(5,1)
  47.  
  48.         assert_equal(1, user_score.compare(sys_score))
  49.     end
  50.  
  51.     def test_lose
  52.         user_score = Score.new(3,1)
  53.         sys_score = Score.new(5,7)
  54.  
  55.         assert_equal(0, user_score.compare(sys_score))
  56.     end
  57. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement