オタクのブ。

〜 オタクが発信する(たまには)役に立つ情報とオタク観察日記 〜
<< 自宅でうまい生が飲みたい | main | Singletonパターン >>

スポンサーサイト

スポンサードリンク

一定期間更新がないため広告を表示しています

スポンサードリンク
- | permalink | - | -

Rubyの勉強:まつもと直伝 プログラミングのオキテ 第1回(3):ITpro

まつもと直伝 プログラミングのオキテ 第1回(3):ITpro

Rubyの勉強をするために、Webで文法などまとまったものを探していたときに、まつもと氏がRuby言語を使ってオブジェクト指向などについて解説されてている記事を見つけた。言語を開発された方がかかれているという信頼性と、ちょうどオブジェクト指向プログラミングのプロトタイピングをやりたいと思っていたので参考にさせていただいている。

記事の中で、箱を開けるという題材でサンプルプログラムが載っているが、自分なりに試しに作ってみた。

module Box
  def open()
  end
end

class Box1
  include Box
  def open()
    puts("開けます")
  end
end

class Box2
  include Box
  def open()
    puts("開錠して、ふたを開けます")
  end
end

class Box3
  include Box
  def open()
    puts("リボンを解いてふたを開けます")
  end
end

Box1.new().open()
Box2.new().open()
Box3.new().open()
Stackのプログラムを打ち込んだのととそれのunitテストを書いてみた。
Rubyでは標準でUnitテストを利用することができる。
Unitテストの書き方は、Rubyリファレンスマニュアルを参考にした。
http://www.ruby-lang.org/ja/man/html/Test_Unit.html


Stackのプログラムは以下のページに解説がある。
http://itpro.nikkeibp.co.jp/article/COLUMN/20050913/221050/?ST=oss

作ってみたユニットテストは以下の通り。
require 'test/unit'
require 'test'

class TC_Stack < Test::Unit::TestCase
  def setup
      @obj=Stack.new
  end
 
  #def teardown
  #end
 
  def test_one
    @obj.push("test")
    assert_equal("test", @obj.pop)
  end
 
  def test_three
    @obj.push("test")
    @obj.push("test2")
    @obj.push("test3")
    assert_equal("test3", @obj.pop)
    assert_equal("test2", @obj.pop)
    assert_equal("test", @obj.pop)
  end
 
  def test_empty
    assert_equal(nil, @obj.pop)
  end
 
end

システム開発 | permalink | comments(0) | trackbacks(0)

スポンサーサイト

- | permalink | - | -

この記事に対するコメント

コメントする









この記事のURL

http://spw.jugem.jp/?eid=841 [記事を編集する]
この記事のトラックバックURL
トラックバック機能は終了しました。
※注意:スパム対策のため、この記事のURLへのリンクのないトラックバックはすべて受付できません。
この記事に対するトラックバック