目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

テスト駆動開発入門をRubyで写経してみた。 3

第3章

# !/usr/bin/ruby
# coding : utf-8
# テスト駆動開発入門3章
require 'test/unit'

class Test_Money < Test::Unit::TestCase
  def test_multiplication
    five = Dollar.new(5)
    product = five.times(2)
    assert_equal(10, product.get_amount)
    product = five.times(3)
    assert_equal(15, product.get_amount)
  end
  
  def test_equality
    assert(Dollar.new(5).equals(Dollar.new(5) ) )
    assert(!Dollar.new(5).equals(Dollar.new(6) ) )
  end
end

class Dollar
  def initialize(amount)
    @amount = amount
  end
  
  def times(multiplier)
    return Dollar.new(@amount * multiplier)
  end
  
  def equals(object)
    dollar = object
    return @amount == dollar.get_amount
  end
  
  # @amountに直接アクセスできないのでgetterを定義
  def get_amount()
    return @amount
  end
end

テスト駆動開発入門

テスト駆動開発入門

  • 作者: ケントベック,Kent Beck,長瀬嘉秀,テクノロジックアート
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2003/09
  • メディア: 単行本
  • 購入: 43人 クリック: 1,002回
  • この商品を含むブログ (153件) を見る