テストメソッドでセンセーショナルなタイトルは?

このQ&Aのポイント
  • テストメソッドでinNorthernHemisphereがTrueの場合にWinterを返すテストの書き方
  • boolean型のinNorthernHemisphereをテストする方法に関しての質問
  • 質問文章の要約文
回答を見る
  • ベストアンサー

テストメソッド

先ほどはありがとうございました。テストメソッドで一つ質問があります。 もしinNorthernHemisphere(北半球)ならTrue。!inNorthernHemisphere(南半球)ならFalse。その月の四季を返します。 {12月、1月、2月} 北半球→"Winter" 南半球→"Summer" {3月、4月、5月} 北→"Spring" 南→"Fall" {6月、7月、8月} 北→"Summer" 南→"Winter" {9月、10月、11月} 北→"Fall" 南→"Spring" プログラムはこのように組んでみました。 public class ControlFun { public String season(int month, boolean inNorthernHemisphere){ if (month == 12 || month ==1 || month == 2) { if (inNorthernHemisphere) { return "Winter"; } else { return "Summer"; } } else if(month == 3 || month == 4 || month == 5 ){ if (inNorthernHemisphere) { return "Spring"; } else { return "Fall"; } }else if(month == 6 || month == 7 || month == 8){ if (inNorthernHemisphere) { return "Summer"; } else { return "Winter"; } }else{ if (inNorthernHemisphere) { return "Fall"; } else { return "Spring"; } } } 問題のテストメソッドですが、 public class ControlFunTest { @Test public void testseason(){ ControlFun myFuns = new ControlFun(); assertEquals("Winter", myFuns.season(12,?)); } } boolean型のinNorthernHemisphereはどのように書けばテストできますでしょうか。? このテストでは、monthは12月。 inNorthernHemisphereはTrue。結果Winterを返したいのです。宜しくお願いします。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

assertEquals("Winter", myFuns.season(12,true));

lockwell
質問者

補足

バカなミスでした(笑 trueは既にためしていたのですが、Trueと大文字にしていました。それで赤線エラーがでていきづまっていたのですが・・・ trueと小文字にしないといけなかったんですね・・・ ありがとうございます!

関連するQ&A

  • perlで比較関数を使ったソートの仕方

    今、季節をソートするようなプログラムを考えています。 my @array = ('spring','fall','winter','summer'); my @sort = sort number(@array); sub number { if ($a < $b) { return -1; } elsif ($a == $b) { return 0; } elsif ($a > $b) { return 1; } } 実行結果:spring ,summer ,fall ,winter 比較関数を使用して、「春・夏・秋・冬」とソートできるようにしたいです。上のプログラムはまだ途中なんですが、この場合比較関数はどのように実装すればうまくソートできるんでしょうか?分かる方、よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • 南半球の「夏」は寒い??

    北半球と南半球で夏と冬が逆になるというのは一般的によく知られた事実です。 日本(北半球)が暑い夏の時期(7,8月)に南半球では寒いんだよ、というのはわかるのですが、言葉の定義としてどうなんでしょ? つまり日本でいうところの夏(7,8月)を オーストラリアの人たちは「冬(Winter)」と呼んでいるのでしょうか? もし、そうではなくやはり「夏(Summer)」と呼んでいるのなら、 日本では「夏は暑い」   というのに対して オーストラリアでは「夏は寒い」   と言うのが常識なんでしょうか? いろいろ調べたのですが、一番知りたいところがなかなか見つかりません。どなたか教えてくださいな。

  • メソッドの中に、作ったメソッドを呼び込みたいんですが

    メソッドの中に、作ったメソッドを呼び込みたいんですが シグネチャを int argCheck(String args[]) に指定して、 引数のチェック処理メソッドというものを作成してるんですが、 よくわからないんです。 内容は (1) 引数の数が1個でない場合、1を返却 (2) 引数が『aaa』でも『ZZZ』でもない場合、99を返却 (3) 以外は、0を返却 public class Test { public static void main(String args[]) { Test test = new Test(); int result = test.argCheck(args); test.argCheck(); //メソッドを呼び込み } private int argCheck(String args[]) { if(args[0].length != 1) // 引数の数が1以外の場合 { return 1; // 1を返す } else if (!args[0].equalsIgnoreCase("aaa") && !args[0].equalsIgnoreCase("ZZZ")) //引数が aaa でも ZZZ でもない場合(大/小文字区別せず) { return 99; // 99を返す } else // それ以外の場合 { return 0; // 0を返す } } }

    • ベストアンサー
    • Java
  • 南半球の「夏」は寒い??

    すみません、「科学」の方に以下の質問したのですが、こちらのカテゴリーの方がいいかなと思い、再質問させていただきます。 質問】 北半球と南半球で夏と冬が逆になるというのは一般的によく知られた事実です。 日本(北半球)が暑い夏の時期(7,8月)に南半球では寒いんだよ、というのはわかるのですが、言葉の定義としてどうなんでしょ? つまり日本でいうところの夏(7,8月)を オーストラリアの人たちは「冬(Winter)」と呼んでいるのでしょうか? もし、そうではなくやはり「夏(Summer)」と呼んでいるのなら、 日本では「夏は暑い」   というのに対して オーストラリアでは「夏は寒い」   と言うのが常識なんでしょうか? いろいろ調べたのですが、一番知りたいところがなかなか見つかりません。どなたか教えてくださいな。

  • if else文

    どう解読すればいいか解りません。 解りやすく解読して下さい。 if (year % 2 == 0) { if (year % 4 == 0) { return OLYMIPC_SUMMER; } else { return OLYMIPC_WINTER; } } else { return OLYMIPC_NON; } OLYMIPC_SUMMERは、year % 2 == 0 year % 4 == 0 両方の条件が必要な文型になってますか? 他は、OLYMIPC_WINTER。 他は、OLYMIPC_NON。 となっていて、さっぱり解りません。 解りやすく教えてください。

  • メソッドが値を返すとき

    ”メソッドが値を返さない”というエラーで困っています。 次のようなプログラムでは、メソッドが値を返せないのは当たり前なのでしょうか?? public int A(){ int a= 3; int b= 5; if(条件式){ return (Math.sin(a*x)); }else if(条件式){ return (Math.cos(b*x)); }else if(条件式){ return 式 ; } } 「return」をif文のなかに入れてしまうことが,いけないのでしょうか? また,それがしてはいけない事ならば,条件式によって扱うreturn文を変えるには, どうしたら良いかアドバイスを下さい。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Ruby 自作メソッドのブロック付きメソッドについ

    いつも、ご教授ありがとうございます。 Ruby でメソッドを自作してそのメソッドにブロックを持たせる場合 ブロック内で返り値を返すためにはどうしたらいいのでしょうか? たとえば以下のような自作メソッドがあるとすると def blocktest(str) if (block_given?) yield str else print "メソッドにブロックが与えられていない"; end end begin #自作したメソッドにブロックを与えた場合 res = blocktest("ブロック付きメソッドのテスト") {|value| print value; print "<br/>" print "メソッドに与えられた引数をprintしています" return "ブロックで返り値" } print res; print "<hr />" #ブロックを与えない場合 blocktest("ブロック付きメソッドのテスト"); rescue => ex print ex.message end 上記のようにブロック内で返り値 を指定して変数resのその返り値を返したい場合 どうしたらいいのでしょうか? 一応、ブロック内でreturnで値を与えてはいますが、例外が発生します。 よろしくお願いしまう。

    • ベストアンサー
    • Ruby
  • 単体テストのやり方

    単体テストってどうやってするのですか?教えてください。 例えば、この関数だったらどういうテストコードを書けばいいですか? bool isStart(char c){ if(c == 'Y'){ return true; } else if(c == 'N'){ return false; } }

  • staticメソッドの長所短所

    初めまして。 c言語からjavaの勉強を始めたものです。 javaには共通ライブラリをstaticなメソッド(この言い方に慣れない)で作ることが多いようですが、なぜですか? 私の認識は、 staticはメモリの共有領域に確保され誰からも参照できる。 よって、メモリの効率的な確保が出来る。 でも、メソッドを共有領域に持つと各ユーザからそのメソッドが呼ばれたときに同じメモリをさすメソッドが使用される。 つまり、違うユーザがパラメタ違いで同じメソッドを使用すると、処理の途中でパラメタが書き換わってしまう可能性があるかと思います。 これって問題ないのでしょうか? Sumple public static boolean check(String str){ if(str==null){ return false; } int num = Integer.parseInt(str); if(num < 0){ retrun true; } else { retrun false; } } こんなメソッドがあり、パラメタが「2」の人と「-10」の人が同時にアクセスすると結果が変わりそうな気がします。 よろしくお願いします。

  • どうして南半球のほうが北半球より太陽に近いのか

    助けてください。 以下の説明を読みましたが、南半球は北半球の夏よりも3.4%太陽に近くなることがどうしてもイメージできません。 ************************************************************************* 地球は太陽の周りを楕円軌道で回っているため、南半球の夏である1月には約1.7%太陽に近づき、北半球の夏である7月には1.7%太陽から遠ざかる。つまり、太陽が最も強いとき、南半球は北半球の夏よりも3.4%太陽に近いということになる。 ************************************************************************* 地球は斜めに自転しているから、南半球の夏である1月には約1.7%太陽に近づくというのは分かります。 しかし、そうであるならば、北半球の夏である7月には、北半球は1.7%太陽に近づきませんか?

専門家に質問してみよう