RubyでのUnitTestについて <株入門>

さて昨日の続き、

これ一般論ですが、
putsで実行結果を出力して、目で確認は、間違いのもと。
目検の代わりに、機械に確認させましょうよ、
正確だし、どうせテストコード書くなら。

で、グーグル先生に訊くと、あるじゃん標準で。
Ruby標準のテスティングフレームワークで手軽にテストコードを書く方法
http://qiita.com/jnchito/items/ff4f7a23addbd8dbc460

経緯はゴチャゴチャあるらしいがどうでもいい。
今Ruby2.3系使ってる、それでの標準でいい。
基本作法は、よくあるユニットテストに準じる。

Tickのテスト書き換えてみました、全文最後に載せときます。
動作確認もしました。

まったく、システムトレードそのものには関係ない話題ですけど、
自作する以上、プログラムのテストは避けられない。
売買ロジックの検証に興味あるのに、他の検証も必要とはトホホですが、
その分、自作の自由も大きいので、世の中良いことばかりはないです。

で、テストは避けられないなら、
Ruby上に標準のUnitTestあるのだから、
それ使った方がいいです。
setUpでテストするクラス生成して、初期値与えて、
test_XXXで各メソッドテストする。中身をassert使って検証。
後処理があれば、tearDown。
作法はそれだけ。
コメント出力したければ適当に挟めばいい。

対して手間は変わらない、使った方がいいい。

# coding: Windows-31J

require “test/unit”
require “./lib/tick”

class TestTick < Test::Unit::TestCase
 def test_size
  assert_equal(Tick.size(100), 1)
  assert_equal(Tick.size(2999), 1)
  assert_equal(Tick.size(3000), 1)

  assert_equal(Tick.size(3001), 5)
  assert_equal(Tick.size(4000), 5)
  assert_equal(Tick.size(5100), 10)
  assert_equal(Tick.size(30000), 10)
  assert_equal(Tick.size(30050), 50)
 end

 def test_truncate
  assert_equal(Tick.truncate(99.99), 99)
  assert_equal(Tick.truncate(3004), 3000)
  assert_equal(Tick.truncate(3006), 3005)
 end

 def test_ceil
  assert_equal(Tick.ceil(99.99), 100)
  assert_equal(Tick.ceil(3004), 3005)
  assert_equal(Tick.ceil(3006), 3010)
 end

 def test_round
  assert_equal(Tick.round(99.99), 100)
  assert_equal(Tick.round(99.49), 99)
  assert_equal(Tick.round(3004), 3005)
  assert_equal(Tick.round(3002), 3000)
 end

 def test_up
  assert_equal(Tick.up(100), 101)
  assert_equal(Tick.up(100, 3), 103)
  assert_equal(Tick.up(2999, 1), 3000)
  assert_equal(Tick.up(2999, 2), 3005)
  assert_equal(Tick.up(3000), 3005)
 end

 def test_down
  assert_equal(Tick.down(100), 99)
  assert_equal(Tick.down(100, 3), 97)
  assert_equal(Tick.down(3005, 1), 3000)
  assert_equal(Tick.down(3005, 2), 2999)
  assert_equal(Tick.down(3000), 2999)
  assert_equal(Tick.down(3001), 2999)
 end
end

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


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

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

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

コメントを残す

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


*