Advertisement
Guest User

Untitled

a guest
Feb 15th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.28 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. end
  18.  
  19. def compare(score1, score2)
  20.     if score1.score1 == score2.score1 && score1.score2 == score2.score2
  21.         2
  22.     elsif (score1.draw && score2.draw) || (score1.win1 == score2.win1 && score1.win2 == score2.win2)
  23.         1
  24.     else
  25.         0
  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, compare(user_score, 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, compare(user_score, 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, compare(user_score, 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, compare(user_score, sys_score))
  56.     end
  57. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement