[#33732] 文字列の式展開について — Masao Mutoh <mutoh@...>

むとうです。

14 messages 2002/02/03
[#33733] Re: 文字列の式展開について — Tietew <tietew-ml-ruby-list@...> 2002/02/03

[#33745] Re: 文字列の式展開について — Masao Mutoh <mutoh@...> 2002/02/04

むとうです。

[#33746] Re: 文字列の式展開について — Take_tk <ggb03124@...> 2002/02/04

たけ(tk)です。

[#33762] WebDAV client — HIDAKA Takahiro <cv8t-hdk@...>

 ひだかです。

15 messages 2002/02/05

[#33793] 右辺の値なしでも実行可能? — "井上 浩一" <kyoui32@...>

井上です。

48 messages 2002/02/08
[#33794] Re: 右辺の値なしでも実行可能? — Tietew <tietew-ml-ruby-list@...> 2002/02/08

[#33797] 変数の宣言 — Yasuhiro Hayase <hayase@...> 2002/02/08

早瀬@大阪大学基礎工学部情報科学科 です。

[#33798] Re: 変数の宣言 — matz@... (Yukihiro Matsumoto) 2002/02/08

まつもと ゆきひろです

[#33839] Re: 変数の宣言 — Yasuhiro Hayase <hayase@...> 2002/02/11

早瀬@阪大です。

[#33840] Re: 変数の宣言 — Tanaka Akira <akr@...17n.org> 2002/02/11

In article <20020211224442.48d0e668.hayase@hcn.zaq.ne.jp>,

[#33841] Re: 変数の宣言 — nobu.nakada@... 2002/02/11

なかだです。

[#33845] Re: 変数の宣言 — shudo@... 2002/02/12

> > > あえて宣言文の途中で、代入前に変数の値を使った場合にエラーを出そうと思うと、

[#33847] スクリプト言語 (Re: 変数の宣言 ) — TAKAHASHI Masayoshi <maki@...> 2002/02/12

高橋征義です。

[#33850] Re: スクリプト言語 (Re: 変数の宣言 ) — Takaaki Tateishi <ttate@...> 2002/02/12

At Tue, 12 Feb 2002 13:27:58 +0900,

[#33871] Re: スクリプト言語 (Re: 変数の宣言 ) — TAKAHASHI Masayoshi <maki@...> 2002/02/12

Takaaki Tateishi <ttate@kt.jaist.ac.jp> wrote:

[#33795] Re: 右辺の値なしでも実行可能? — "井上 浩一" <kyoui32@...>

井上です。

13 messages 2002/02/08

[#33807] Re: 右辺の値なしでも実行可能? — "井上 浩一" <kyoui32@...>

井上です。

38 messages 2002/02/08
[#33824] Re: 右辺の値なしでも実行可能? — "jihg" <jihg@...> 2002/02/08

jihg です。新入りです。

[#33825] Re: 右辺の値なしでも実行可能? — Tanaka Akira <akr@...17n.org> 2002/02/08

In article <000001c1b0c1$04eca980$b7d08bcb@soteccomputer>,

[#33831] Re: 右辺の値なしでも実行可能? — "jihg" <jihg@...> 2002/02/09

> Pseudo-Simplicity(擬似単純性)

[#33853] arguments for def [Re: 右辺の値なしでも実行可能? ] — Masaaki Sakano <mas@...> 2002/02/12

坂野 正明と申します。

[#33856] Re: arguments for def [Re: 右辺の値なしでも実行可能? ] — shukaku@... 2002/02/12

At Tue, 12 Feb 2002 19:14:03 +0900,

[#33867] Re: arguments for def [Re: 右辺の値なしでも実行可能? ] — Masaaki Sakano <mas@...> 2002/02/12

坂野 正明です。

[#33846] quickml サーバ — Satoru Takabayashi <satoru@...>

高林と申します

22 messages 2002/02/12
[#34082] SlowML /Re: quickml サーバ — rubiben <ozaki@...> 2002/02/25

るびべん です:

[#34086] Re: SlowML /Re: quickml サーバ — matz@... (Yukihiro Matsumoto) 2002/02/26

まつもと ゆきひろです

[#34100] Re: SlowML /Re: quickml サーバ — rubiben <ozaki@...> 2002/02/27

るびべん です:

[#34117] SlowML 実装実験 /Re: quickml サーバ — rubiben <ozaki@...> 2002/02/27

るびべん です:

[#33966] 「たまてばこ」開発版が SecurityE rror — dellin <dellin@...>

dellinといいます。

17 messages 2002/02/18
[#33968] Re: 「たまてばこ」開発版が SecurityError — nobu.nakada@... 2002/02/18

なかだです。

[#33972] world writeable dir (Re: 「たまてばこ」開発版が SecurityError) — Kazuhiro NISHIYAMA <zn@...> 2002/02/18

西山和広です。

[#34053] 漢数字 -> 数 — TOYOFUKU Chikanobu <toyofuku@...>

豊福です。

18 messages 2002/02/25

[#34056] ruby-dev summary — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

16 messages 2002/02/25

[ruby-list:33881] Re: arguments for def [Re: 右辺の値なしでも実行可能? ]

From: shukaku@...
Date: 2002-02-13 01:59:30 UTC
List: ruby-list #33881
At Wed, 13 Feb 2002 02:14:39 +0900,
Masaaki Sakano wrote:
> 
> > lintのような別のツールで良ければ、rubyunitで検査するというのは有効
> > だと思います。例のような場合なら、テストケースでひっかかりますから。
> 
> # 貴重な情報をありがとうございます。
> 早速、install してみて、助田さんのWWWページから辿れるいくつかの
> 文書とか、付属のファイルとか見てみたのですが…、悲しいかな、使い方が
> よく分かりません (T_T)。もしよかったら、先の例のケースについて、
> rubyunit をどう適用するか、そのサンプルコードを頂けませんか?

Ruby256倍本のどれか(手元になくて確認できません...)にrubyunitのことが載っ
てます。翔泳社の"eXtreme Programmingテスト技法"(ISBN4-7981-0128-1)にも
rubyunitの章があります。

とりあえずなんですが、下記のような感じでしょうか。本来はクラスを定義す
るファイルをrequireで取り込むんですが、下記では直接書いてあります。ファ
イル名を"test_string.rb"などとして、実行してみてください。実行結果とし
てassert_equals( "", a )が失敗した旨を表示するので、引き数が変化してい
ると分かるはずです。

-------- ここから --------

require 'runit/testcase'
require 'runit/cui/testrunner'

class String

  def abcdef( s )
    s << "abc"
    s += "def"
  end

end

class TestString < RUNIT::TestCase

  def test_abcdef_variable
    a = ""
    b = "xyz".abcdef( a )
    assert_equals( "", a ) # 引き数の値が変化する例。
    assert_equals( "abcdef", b )
  end

  def test_abcdef_clone
    a = ""
    b = "xyz".abcdef( a.clone ) # 複製を渡せば大丈夫。
    assert_equals( "", a )
    assert_equals( "abcdef", b )
  end

  def test_abcdef_expression
    a = ""
    b = "xyz".abcdef( a.clone ) # 式の結果が渡ります。
    assert_equals( "", a )
    assert_equals( "abcdef", b )
  end

  def test_abcdef_constant
    b = "xyz".abcdef( "" ) # 定数を渡します。
    assert_equals( "abcdef", b )
  end

end

if $0 == __FILE__
  if ARGV.size == 0
    suite = TestString.suite
  else
    suite = RUNIT::TestSuite.new
    ARGV.each do |testmethod|
      suite.add(TestString.new(testmethod))
    end
  end
  RUNIT::CUI::TestRunner.run(suite)
end

-------- ここまで --------

実行結果は以下の通り。空文字列を期待してるのに、"abc"になっていると出
てますよね?

TestString#test_abcdef_clone .
TestString#test_abcdef_constant .
TestString#test_abcdef_expression .
TestString#test_abcdef_variable F.
Time: 0.001775
FAILURES!!!
Test Results:
 Run: 4/4(6 asserts) Failures: 1 Errors: 0
Failures: 1
/home/shukaku/2002.02/ruby/test_string.rb:18:in
`test_abcdef_variable'(TestString): expected:<> but was:<abc>
(RUNIT::AssertionFailedError)
	from /home/shukaku/2002.02/ruby/test_string.rb:52

///// ------------------------------------------------------------------
-O-O-    斉藤 秀格 (SAITO Shukaku) @ PUGH (Palm Users Group in Hokkaido)
  _      master@shukaku.nu          (ぱふ)   http://www.pugh.palm-j.com/
                                             (旧URL: "http://i.am/PUGH")

In This Thread