抽象的なIndicatorクラスのテスト <株入門>

あ、Indicatorという親クラスのテストやってましたね。
./check/indicator_check.rbですが、
内容は、
 
具体的な子クラスをダミーで用意する。

newでコンストラクタが呼ばれますが、Indicatorは引数にStockを要求する。
ダミーでは使わないので、nilを敢えて渡している。

ダミーでは、配列を返すだけという実装をcalculate_indicatorに施す。
Indicatorのcalculateメソッドを呼び出すと、
ダミーのcalculate_indicatorがチャント実行されたか確認。
 
例外処理を確認。
 配列の要素がnilのときno_valueのエラー発生するか、
 [3..5]というような部分配列指定は可能か。

親クラスIndicatorのテストですから、
Indicatorで実装されてる部分をテストしている。

ワタクシ、若干勘違いしてました。
[3..5]というような部分配列指定は、[-1]などと違って有効なのですね。
Rubyの内部では数値かつ正の値と判断されるようです。

で、ついでに
[-1]がチャントエラーになるか確かめてみる。
catch(:no_value) do
p my_indicator[-1]
end
を追加してみると、
何も表示されないので、有効に機能してます。

ワタクシちょっと勘違いしてました。
catchは他の言語であるような、try/catch構文かと思ってましたが、
違いました。
throwされたら、catchに飛ぶというだけでした。
goto文みたいなものでした。
誤解を招くような単語なんで使うんだろう、ますますRubyが嫌いです。

try/catch構文に当てはめて言うと、
tryがbeginで、
catchがrescueで、
finallyがensureで、
throwがraiseに対応するようです。

ああ、面倒くさい。
とにかく、これで次回からは具体的なインジケータに進める。

 
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。

  
 

社会・経済ニュース ブログランキングへ

にほんブログ村 海外生活ブログへ
にほんブログ村

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*