じゃんけんプログラムのテストを書いたのですが、疎結合にしたいのですが、いまいちピンときません。
疎結合がコンポーネント間の結合が弱いことというの調べたら分かったのですが、
具体的にどうすればいいかはよくわかりません。どなたかわかる方いらっしゃいませんか?
下記のコードを疎結合にしたいです。
宜しくお願いします!!
require 'test/unit' class Judge player_hand = gets.chomp jankens = ["g","c","p"] program_hand = jankens[rand(3)] def hantei(player_hand,program_hand) puts "あなたの手:#{player_hand},相手の手:#{program_hand}" if player_hand == program_hand puts "引き分けです" hikiwake = "引き分けです" elsif (player_hand == "g" && program_hand == "c")||(player_hand == "c" && program_hand == "p")||(player_hand == "p" && program_hand == "g") puts "あなたの勝ちです" win = "あなたの勝ちです" else puts "あなたの負けです" lose = "あなたの負けです" end end end class Testjudge < Test::Unit::TestCase def setup @janken = Judge.new end def test_janken1 test = @janken.hantei("g","c") assert_equal 'あなたの勝ちです', test end def test_janken2 test = @janken.hantei("c","p") assert_equal 'あなたの勝ちです', test end def test_janken3 test = @janken.hantei("p","g") assert_equal 'あなたの勝ちです',test end def test_janken4 test = @janken.hantei("g","p") assert_equal 'あなたの負けです',test end def test_janken5 test = @janken.hantei("c","g") assert_equal 'あなたの負けです',test end def test_janken6 test = @janken.hantei("p","c") assert_equal 'あなたの負けです',test end def test_janken7 test = @janken.hantei("g","g") assert_equal '引き分けです',test end def test_janken8 test = @janken.hantei("c","c") assert_equal '引き分けです',test end def test_janken9 test = @janken.hantei("p","p") assert_equal '引き分けです',test end end
あなたの回答
tips
プレビュー