[前][次][番号順一覧][スレッド一覧]

ruby-changes:7348

From: knu <ko1@a...>
Date: Tue, 26 Aug 2008 19:27:01 +0900 (JST)
Subject: [ruby-changes:7348] Ruby:r18867 (trunk): * test/ruby/test_enumerator.rb (TestEnumerator#test_with_object):

knu	2008-08-26 19:26:45 +0900 (Tue, 26 Aug 2008)

  New Revision: 18867

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18867

  Log:
    * test/ruby/test_enumerator.rb (TestEnumerator#test_with_object):
      Add (back) the test for Enumerable#with_object.

  Modified files:
    trunk/ChangeLog
    trunk/test/ruby/test_enumerator.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18866)
+++ ChangeLog	(revision 18867)
@@ -1,3 +1,8 @@
+Tue Aug 26 19:25:44 2008  Akinori MUSHA  <knu@i...>
+
+	* test/ruby/test_enumerator.rb (TestEnumerator#test_with_object):
+	  Add (back) the test for Enumerable#with_object.
+
 Tue Aug 26 16:16:43 2008  NARUSE, Yui  <naruse@r...>
 
 	* test/cgi/test_cgi_tag_helper.rb: add more tests for html3.
Index: test/ruby/test_enumerator.rb
===================================================================
--- test/ruby/test_enumerator.rb	(revision 18866)
+++ test/ruby/test_enumerator.rb	(revision 18867)
@@ -96,16 +96,18 @@
     assert_equal([[1,0],[2,1],[3,2]], @obj.to_enum(:foo, 1, 2, 3).with_index.to_a)
   end
 
-  def test_with_memo
-    r = 1..10
-    return unless r.each.respond_to? :with_memo
-    assert_equal([55, 3628800], (1..10).each.with_memo([0,1]) {|i, memo|
-        memo[0] += i
-        memo[1] *= i
-      })
+  def test_with_object
+    obj = [0, 1]
+    ret = (1..10).each.with_object(obj) {|i, memo|
+      memo[0] += i
+      memo[1] *= i
+    }
+    assert_same(obj, ret)
+    assert_equal([55, 3628800], ret)
 
     a = [2,5,2,1,5,3,4,2,1,0]
-    a.delete_if.with_memo({}) {|i, seen|
+    obj = {}
+    ret = a.delete_if.with_object(obj) {|i, seen|
       if seen.key?(i)
         true
       else
@@ -113,6 +115,7 @@
         false
       end
     }
+    assert_same(obj, ret)
     assert_equal([2, 5, 1, 3, 4, 0], a)
   end
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]