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

ruby-changes:20189

From: tadf <ko1@a...>
Date: Sun, 26 Jun 2011 23:50:20 +0900 (JST)
Subject: [ruby-changes:20189] tadf:r32237 (trunk): * test/date/test_switch_hitter.rb: added a test.

tadf	2011-06-26 23:50:09 +0900 (Sun, 26 Jun 2011)

  New Revision: 32237

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

  Log:
    * test/date/test_switch_hitter.rb: added a test.

  Modified files:
    trunk/ChangeLog
    trunk/test/date/test_switch_hitter.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 32236)
+++ ChangeLog	(revision 32237)
@@ -1,3 +1,7 @@
+Sun Jun 26 23:49:21 2011  Tadayoshi Funaba  <tadf@d...>
+
+	* test/date/test_switch_hitter.rb: added a test.
+
  Sun Jun 26 22:21:23 2011  Tadayoshi Funaba  <tadf@d...>
 
 	* ext/date/date_core.c: refactoring.
Index: test/date/test_switch_hitter.rb
===================================================================
--- test/date/test_switch_hitter.rb	(revision 32236)
+++ test/date/test_switch_hitter.rb	(revision 32237)
@@ -360,6 +360,40 @@
 		 [d2.year, d2.mon, d2.mday, d2.hour, d2.min, d2.sec, d.wday])
   end
 
+  def period2_iter2(from, to, sg)
+    (from..to).each do |j|
+      d = Date.jd(j, sg)
+      d2 = Date.new(d.year, d.mon, d.mday, sg)
+      assert_equal(d2.jd, j)
+      assert_equal(d2.ajd, d.ajd)
+      assert_equal(d2.year, d.year)
+
+      d = DateTime.jd(j, 12,0,0, '+12:00', sg)
+      d2 = DateTime.new(d.year, d.mon, d.mday,
+			d.hour, d.min, d.sec, d.offset, sg)
+      assert_equal(d2.jd, j)
+      assert_equal(d2.ajd, d.ajd)
+      assert_equal(d2.year, d.year)
+    end
+  end
+
+  def period2_iter(from, to)
+    period2_iter2(from, to, Date::GREGORIAN)
+    period2_iter2(from, to, Date::ITALY)
+    period2_iter2(from, to, Date::ENGLAND)
+    period2_iter2(from, to, Date::JULIAN)
+  end
+
+  def test_period2
+    cm_period0 = 71149239
+    cm_period = 0xfffffff.div(cm_period0) * cm_period0
+    period2_iter(-cm_period * (1 << 64) - 3, -cm_period * (1 << 64) + 3)
+    period2_iter(-cm_period - 3, -cm_period + 3)
+    period2_iter(0 - 3, 0 + 3)
+    period2_iter(+cm_period - 3, +cm_period + 3)
+    period2_iter(+cm_period * (1 << 64) - 3, +cm_period * (1 << 64) + 3)
+  end
+
   def test_marshal
     s = "\x04\bU:\tDate[\bU:\rRational[\ai\x03\xCF\xD3Ji\ai\x00o:\x13Date::Infinity\x06:\a@di\xFA"
     d = Marshal.load(s)

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

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