test/test/parts.rb in when_exe-0.4.2 vs test/test/parts.rb in when_exe-0.4.3
- old
+ new
@@ -1,488 +1,488 @@
-# -*- coding: utf-8 -*-
-=begin
- Copyright (C) 2011-2014 Takashi SUGA
-
- You may use and/or modify this file according to the license
- described in the LICENSE.txt file included in this archive.
-=end
-
-module When::Parts
- class GeometricComplex
- def ==(other)
- return false unless other.kind_of?(self.class)
- return self.node == other.node && self.reverse == other.reverse
- end
- end
-end
-
-module MiniTest::Parts
-
- class MethodCash < MiniTest::TestCase
- class A
- include When::Parts::MethodCash
-
- def func_0_(x)
- #pp ['--0--',x]
- return x**2
- end
-
- def func_0_setup(k, x)
- #pp ['-0-setup-',k,x]
- @_m_cash_["func_0"][k] ||= x**2
- end
-
- def func_1_(x)
- #pp ['--1--',x]
- return x**4
- end
-
- def _from_to_to_(x,y)
- #pp ['--2--',x, y]
- return 10 * x + y
- end
-
- def _to_to_from_(x)
- #pp ['--3--',x]
- return x.divmod(10)
- end
-
- def cash
- @_m_cash_
- end
- end
-
- class B < A
- def initialize
- @_m_cash_lock_ = Mutex.new
- end
- end
-
- def test__method_cash
- [A, B].each do |klass|
- c = klass.new
- assert_equal(4, c.func_0(2))
- assert_equal(4, c.func_0(2))
- assert_equal({"func_0"=>{2=>4}}, c.cash)
- assert_equal(16, c.func_1(2))
- assert_equal(16, c.func_1(2))
- assert_equal({"func_1"=>{2=>16}, "func_0"=>{2=>4}}, c.cash)
- assert_equal(34, c._from_to_to(3,4))
- assert_equal([3, 4], c._to_to_from(34))
- assert_equal([3, 3], c._to_to_from(33))
- assert_equal({"func_1"=>{2=>16}, "func_0"=>{2=>4},
- "_from_to_to"=>{[3, 3]=>[33], [3, 4]=>34}, "_to_to_from"=>{33=>[3, 3], 34=>[3, 4]}}, c.cash)
- end
- end
- end
-
- class Locale < MiniTest::TestCase
- Term1 = When.m17n('Tokyo', 'zip')
- Term2 = When.m17n(<<LABEL, <<NS, <<LOCALE)
-[
-Getsuyou
-Monday
-]
-LABEL
-ISO, jwiki=http://ja.wikipedia.org/wiki/, ewiki=http://en.wikipedia.org/wiki/
-NS
-=jwiki:, en=ewiki:
-LOCALE
- Term3 = When.Resource('_co:Common::Week::Monday::Monday')
-
- def test__locale
- assert_equal("Tokyo", Term1.translate('en_US'))
- assert_equal("Monday", Term2.translate('en_US'))
- assert_equal("Monday", Term3.translate('en_US'))
- end
-
- def test__reference
- assert_equal(nil, Term1.reference('ja_JP'))
- assert_equal(nil, Term1.reference('en_US'))
- assert_equal("http://ja.wikipedia.org/wiki/Getsuyou", Term2.reference('ja_JP'))
- assert_equal("http://en.wikipedia.org/wiki/Monday", Term2.reference('en_US'))
- assert_equal("http://ja.wikipedia.org/wiki/%E6%9C%88%E6%9B%9C%E6%97%A5", Term3.reference('ja_JP'))
- end
-
- def test__labels
- assert_equal({""=>"Tokyo"}, Term1.names)
- assert_equal({""=>"Getsuyou", "en"=>"Monday"}, Term2.names)
- # assert_equal({""=>"Monday", "ja"=>"月曜日"}, Term3.names)
- end
-
- def test__link
- assert_equal({},Term1.link)
- assert_equal({""=>"http://ja.wikipedia.org/wiki/Getsuyou",
- "en"=>"http://en.wikipedia.org/wiki/Monday"}, Term2.link)
- assert_equal({"ja"=>"http://ja.wikipedia.org/wiki/%E6%9C%88%E6%9B%9C%E6%97%A5",
- ""=>"http://en.wikipedia.org/wiki/Monday"}, Term3.link)
- end
-
- def test__prefix
- date = When.when?('0594-09=12^Japanese')
- assert_equal(["閏九月", String], [date.name('Month').label.to_s, date.name('Month').label.class])
- assert_equal(["閏九月", String], [date.name('Month').to_s, date.name('Month').to_s.class])
- assert_equal("http://ja.wikipedia.org/wiki/%E9%96%8F", date.name('Month').reference('ja'))
- assert_equal("閏九月", date.name('Month').translate('日本語'))
- assert_equal("閏長月", date.name('Month').translate('alias'))
- assert_equal("Intercalary Month 9", date.name('Month').translate('en_US'))
- end
-
- def test__split
- assert_equal(['' ], When::Locale._split(''))
- assert_equal(['3.14' ], When::Locale._split('3.14'))
- assert_equal(['3.14', ''], When::Locale._split('3.14,'))
- assert_equal(['', '3.14'], When::Locale._split(',3.14'))
- assert_equal(['3.14', ' "3.14,159"'], When::Locale._split('3.14, "3.14,159"'))
- assert_equal(['3.14', ' "3.14\\"159"'], When::Locale._split('3.14, "3.14\\"159"'))
- end
- end
-
- class Resource < MiniTest::TestCase
- def test_nothing
- end
- end
-
- class Enumerator < MiniTest::TestCase
-
- def test_nothing
- end
-
- class Array < MiniTest::TestCase
- def test_nothing
- end
- end
-
- class Integrated < MiniTest::TestCase
- def test_nothing
- end
- end
- end
-
- class GeometricComplex < MiniTest::TestCase
-
- def test__include
-
- sample = [false, false, false, false, false]
- complex = When::Parts::GeometricComplex.new(false)
- assert_equal(nil, complex.exclude_end?)
- (1..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- sample = [true, true, true, true, true]
- complex = When::Parts::GeometricComplex.new(true)
- assert_equal(nil, complex.exclude_end?)
- (1..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- sample = [false, true, true, true, false]
- complex = When::Parts::GeometricComplex.new(2..4)
- assert_equal(false, complex.exclude_end?)
- (1..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- sample = [false, true, true, false, false]
- complex = When::Parts::GeometricComplex.new(2...4)
- assert_equal(true, complex.exclude_end?)
- (1..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- sample = [true, false, false, false, true]
- complex = -When::Parts::GeometricComplex.new(2..4)
- assert_equal(true, complex.exclude_end?)
- (1..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- sample = [true, false, false, true, true]
- complex = -When::Parts::GeometricComplex.new(2...4)
- assert_equal(false, complex.exclude_end?)
- (1..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- period_1_2 = When::Parts::GeometricComplex.new(1..2)
- period_2_3 = When::Parts::GeometricComplex.new(2..3)
- period_3_4 = When::Parts::GeometricComplex.new(3..4)
- period_4_5 = When::Parts::GeometricComplex.new(4..5)
- period_5_6 = When::Parts::GeometricComplex.new(5..6)
-
- period_2_4 = When::Parts::GeometricComplex.new(2..4)
- period_3_6 = When::Parts::GeometricComplex.new(3..6)
- period_4_6 = When::Parts::GeometricComplex.new(4..6)
- period_1_6 = When::Parts::GeometricComplex.new(1..6)
-
- [[false, period_1_2, period_4_6],
- [false, period_1_2, period_2_4],
- [false, period_2_4, period_3_6],
- [false, period_2_3, period_2_4],
- [true, period_2_4, period_2_3],
-
- [false, period_2_4, period_1_6],
- [true, period_1_6, period_2_4],
- [true, period_2_4, period_2_4],
-
- [false, period_3_6, period_2_4],
- [false, period_3_4, period_2_4],
- [true, period_2_4, period_3_4],
- [false, period_4_5, period_2_4],
- [false, period_5_6, period_2_4]].each do |sample|
- assert_equal(sample[0], sample[1].include?(sample[2]))
- end
-
- period_1_2 = When::Parts::GeometricComplex.new(1...2)
- period_2_3 = When::Parts::GeometricComplex.new(2...3)
- period_3_4 = When::Parts::GeometricComplex.new(3...4)
- period_4_5 = When::Parts::GeometricComplex.new(4...5)
- period_5_6 = When::Parts::GeometricComplex.new(5...6)
-
- period_2_4 = When::Parts::GeometricComplex.new(2...4)
- period_3_6 = When::Parts::GeometricComplex.new(3...6)
- period_4_6 = When::Parts::GeometricComplex.new(4...6)
- period_1_6 = When::Parts::GeometricComplex.new(1...6)
-
- [[false, period_1_2, period_4_6],
- [false, period_1_2, period_2_4],
- [false, period_2_4, period_3_6],
- [false, period_2_3, period_2_4],
- [true, period_2_4, period_2_3],
-
- [false, period_2_4, period_1_6],
- [true, period_1_6, period_2_4],
- [true, period_2_4, period_2_4],
-
- [false, period_3_6, period_2_4],
- [false, period_3_4, period_2_4],
- [true, period_2_4, period_3_4],
- [false, period_4_5, period_2_4],
- [false, period_5_6, period_2_4]].each do |sample|
- assert_equal(sample[0], sample[1].include?(sample[2]))
- end
-
- period_1_2 = -When::Parts::GeometricComplex.new(1..2)
- period_2_3 = -When::Parts::GeometricComplex.new(2..3)
- period_3_4 = -When::Parts::GeometricComplex.new(3..4)
- period_4_5 = -When::Parts::GeometricComplex.new(4..5)
- period_5_6 = -When::Parts::GeometricComplex.new(5..6)
-
- period_2_4 = -When::Parts::GeometricComplex.new(2..4)
- period_3_6 = -When::Parts::GeometricComplex.new(3..6)
- period_4_6 = -When::Parts::GeometricComplex.new(4..6)
- period_1_6 = -When::Parts::GeometricComplex.new(1..6)
-
- [[false, period_4_6, period_1_2],
- [false, period_2_4, period_1_2],
- [false, period_3_6, period_2_4],
- [false, period_2_4, period_2_3],
- [true, period_2_3, period_2_4],
-
- [false, period_1_6, period_2_4],
- [true, period_2_4, period_1_6],
- [true, period_2_4, period_2_4],
-
- [false, period_2_4, period_3_6],
- [false, period_2_4, period_3_4],
- [true, period_3_4, period_2_4],
- [false, period_2_4, period_4_5],
- [false, period_2_4, period_5_6]].each do |sample|
- assert_equal(sample[0], sample[1].include?(sample[2]))
- end
-
- period_1_2 = -When::Parts::GeometricComplex.new(1...2)
- period_2_3 = -When::Parts::GeometricComplex.new(2...3)
- period_3_4 = -When::Parts::GeometricComplex.new(3...4)
- period_4_5 = -When::Parts::GeometricComplex.new(4...5)
- period_5_6 = -When::Parts::GeometricComplex.new(5...6)
-
- period_2_4 = -When::Parts::GeometricComplex.new(2...4)
- period_3_6 = -When::Parts::GeometricComplex.new(3...6)
- period_4_6 = -When::Parts::GeometricComplex.new(4...6)
- period_1_6 = -When::Parts::GeometricComplex.new(1...6)
-
- [[false, period_4_6, period_1_2],
- [false, period_2_4, period_1_2],
- [false, period_3_6, period_2_4],
- [false, period_2_4, period_2_3],
- [true, period_2_3, period_2_4],
-
- [false, period_1_6, period_2_4],
- [true, period_2_4, period_1_6],
- [true, period_2_4, period_2_4],
-
- [false, period_2_4, period_3_6],
- [false, period_2_4, period_3_4],
- [true, period_3_4, period_2_4],
- [false, period_2_4, period_4_5],
- [false, period_2_4, period_5_6]].each do |sample|
- assert_equal(sample[0], sample[1].include?(sample[2]))
- end
- end
-
- def test__union
-
- sample = [false, true, false, true, true, false]
- complex = When::Parts::GeometricComplex.new(3..4)
- complex |= 1
- (0..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- sample = [true, false, true, false, false, true]
- complex = When::Parts::GeometricComplex.new(3..4)
- complex |= 1
- complex = -complex
- (0..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- sample = [false, true, false, true, false, false]
- complex = When::Parts::GeometricComplex.new(3...4)
- complex |= 1
- (0..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- sample = [true, false, true, false, true, true]
- complex = When::Parts::GeometricComplex.new(3...4)
- complex |= 1
- complex = -complex
- (0..5).each do |i|
- assert_equal(sample.shift, complex.include?(i))
- end
-
- complex = When::Parts::GeometricComplex.new(3..5)
- (3..5).each do |i|
- union = complex | i
- assert_equal(complex, union)
- end
-
- assert_equal(When::Parts::GeometricComplex.new(3..5),
- When::Parts::GeometricComplex.new(3...5) | 5)
-
- null = When::Parts::GeometricComplex.new(false)
- all = When::Parts::GeometricComplex.new(true)
- period_1_2 = When::Parts::GeometricComplex.new(1..2)
- period_2_3 = When::Parts::GeometricComplex.new(2..3)
- period_3_4 = When::Parts::GeometricComplex.new(3..4)
- period_4_5 = When::Parts::GeometricComplex.new(4..5)
- period_5_6 = When::Parts::GeometricComplex.new(5..6)
-
- period_1_4 = When::Parts::GeometricComplex.new(1..4)
- period_2_4 = When::Parts::GeometricComplex.new(2..4)
- period_2_5 = When::Parts::GeometricComplex.new(2..5)
- period_2_6 = When::Parts::GeometricComplex.new(2..6)
- period_3_6 = When::Parts::GeometricComplex.new(3..6)
- period_4_6 = When::Parts::GeometricComplex.new(4..6)
- period_1_6 = When::Parts::GeometricComplex.new(1..6)
-
- period_1_2_4_6 = When::Parts::GeometricComplex.new([[1,true],[2,true],[4,true],[6,true]])
- period_2_4_5_6 = When::Parts::GeometricComplex.new([[2,true],[4,true],[5,true],[6,true]])
-
- [[period_1_2_4_6, null, period_1_2_4_6],
- [period_1_2_4_6, period_1_2_4_6, null],
- [all, all, period_1_2_4_6],
- [all, period_1_2_4_6, all],
- [period_1_2_4_6, period_1_2, period_4_6],
- [period_1_4, period_1_2, period_2_4],
- [period_2_6, period_2_4, period_3_6],
- [period_2_4, period_2_3, period_2_4],
- [period_2_4, period_2_4, period_2_3],
-
- [period_1_6, period_2_4, period_1_6],
- [period_1_6, period_1_6, period_2_4],
- [period_2_4, period_2_4, period_2_4],
-
- [period_2_6, period_3_6, period_2_4],
- [period_2_4, period_3_4, period_2_4],
- [period_2_4, period_2_4, period_3_4],
- [period_2_5, period_4_5, period_2_4],
- [period_2_4_5_6, period_5_6, period_2_4]].each do |sample|
- assert_equal(sample[0], sample[1] | sample[2])
- end
-
- period_1_2 = When::Parts::GeometricComplex.new(1...2)
- period_2_3 = When::Parts::GeometricComplex.new(2...3)
- period_3_4 = When::Parts::GeometricComplex.new(3...4)
- period_4_5 = When::Parts::GeometricComplex.new(4...5)
- period_5_6 = When::Parts::GeometricComplex.new(5...6)
-
- period_1_4 = When::Parts::GeometricComplex.new(1...4)
- period_2_4 = When::Parts::GeometricComplex.new(2...4)
- period_2_5 = When::Parts::GeometricComplex.new(2...5)
- period_2_6 = When::Parts::GeometricComplex.new(2...6)
- period_3_6 = When::Parts::GeometricComplex.new(3...6)
- period_4_6 = When::Parts::GeometricComplex.new(4...6)
- period_1_6 = When::Parts::GeometricComplex.new(1...6)
-
- period_1_2_4_6 = When::Parts::GeometricComplex.new([[1,true],[2,false],[4,true],[6,false]])
- period_2_4_5_6 = When::Parts::GeometricComplex.new([[2,true],[4,false],[5,true],[6,false]])
-
- [[period_1_2_4_6, null, period_1_2_4_6],
- [period_1_2_4_6, period_1_2_4_6, null],
- [all, all, period_1_2_4_6],
- [all, period_1_2_4_6, all],
- [period_1_2_4_6, period_1_2, period_4_6],
- [period_1_4, period_1_2, period_2_4],
- [period_2_6, period_2_4, period_3_6],
- [period_2_4, period_2_3, period_2_4],
- [period_2_4, period_2_4, period_2_3],
-
- [period_1_6, period_2_4, period_1_6],
- [period_1_6, period_1_6, period_2_4],
- [period_2_4, period_2_4, period_2_4],
-
- [period_2_6, period_3_6, period_2_4],
- [period_2_4, period_3_4, period_2_4],
- [period_2_4, period_2_4, period_3_4],
- [period_2_5, period_4_5, period_2_4],
- [period_2_4_5_6, period_5_6, period_2_4]].each do |sample|
- assert_equal(sample[0], sample[1] | sample[2])
- end
- end
-
- def test__include_in_sample
- range_1_4 = When::Parts::GeometricComplex.new(1,4)
- range_2_2 = When::Parts::GeometricComplex.new(2)
- range_2_3 = When::Parts::GeometricComplex.new(2,3)
- range_2_5 = When::Parts::GeometricComplex.new(2,5)
- range_4_4 = When::Parts::GeometricComplex.new(4)
- assert_equal(true, range_1_4.include?(range_2_2))
- assert_equal(true, range_1_4.include?(range_2_3))
- assert_equal(false, range_1_4.include?(range_2_5))
- assert_equal(false, range_1_4.include?(range_4_4))
- end
-
- def test__union_in_sample
- #range_null = When::Parts::GeometricComplex.new()
- #range_1_1 = When::Parts::GeometricComplex.new(1)
- range_1_4 = When::Parts::GeometricComplex.new(1,4)
- range_2_2 = When::Parts::GeometricComplex.new(2)
- range_2_3 = When::Parts::GeometricComplex.new(2,3)
- range_2_5 = When::Parts::GeometricComplex.new(2,5)
- range_4_4 = When::Parts::GeometricComplex.new(4)
- assert_equal("1...4", range_1_4.to_s)
- assert_equal("2...3", range_2_3.to_s)
- sample = [1, 2, 3]
- range_1_4.each {|x| assert_equal(sample.shift, x)}
- assert_equal("4..4", range_4_4.to_s)
- assert_equal("1...4", (range_1_4 | range_2_3).to_s)
- range_1_5 = range_1_4 | range_2_5
- assert_equal("1...5", range_1_5.to_s)
- assert_equal("1..4", (range_1_4 | range_4_4).to_s)
- reverse_all = When::Parts::GeometricComplex.new(true)
- reverse_1_4 = When::Parts::GeometricComplex.new(1,4, true)
- reverse_2_3 = When::Parts::GeometricComplex.new(2,3, true)
- reverse_2_5 = When::Parts::GeometricComplex.new(2,5, true)
- assert_equal("1..4", reverse_1_4.to_s)
- assert_equal("2..3", reverse_2_3.to_s)
- unless Float::INFINITY == Float::MAX
- assert_equal("-Infinity..Infinity", reverse_all.to_s)
- assert_equal("-Infinity..Infinity", (reverse_2_3 | range_2_3).to_s)
- end
- assert_equal("1..2", (reverse_1_4 | range_2_5).to_s)
- end
- end
-end
+# -*- coding: utf-8 -*-
+=begin
+ Copyright (C) 2011-2014 Takashi SUGA
+
+ You may use and/or modify this file according to the license
+ described in the LICENSE.txt file included in this archive.
+=end
+
+module When::Parts
+ class GeometricComplex
+ def ==(other)
+ return false unless other.kind_of?(self.class)
+ return self.node == other.node && self.reverse == other.reverse
+ end
+ end
+end
+
+module MiniTest::Parts
+
+ class MethodCash < MiniTest::TestCase
+ class A
+ include When::Parts::MethodCash
+
+ def func_0_(x)
+ #pp ['--0--',x]
+ return x**2
+ end
+
+ def func_0_setup(k, x)
+ #pp ['-0-setup-',k,x]
+ @_m_cash_["func_0"][k] ||= x**2
+ end
+
+ def func_1_(x)
+ #pp ['--1--',x]
+ return x**4
+ end
+
+ def _from_to_to_(x,y)
+ #pp ['--2--',x, y]
+ return 10 * x + y
+ end
+
+ def _to_to_from_(x)
+ #pp ['--3--',x]
+ return x.divmod(10)
+ end
+
+ def cash
+ @_m_cash_
+ end
+ end
+
+ class B < A
+ def initialize
+ @_m_cash_lock_ = Mutex.new
+ end
+ end
+
+ def test__method_cash
+ [A, B].each do |klass|
+ c = klass.new
+ assert_equal(4, c.func_0(2))
+ assert_equal(4, c.func_0(2))
+ assert_equal({"func_0"=>{2=>4}}, c.cash)
+ assert_equal(16, c.func_1(2))
+ assert_equal(16, c.func_1(2))
+ assert_equal({"func_1"=>{2=>16}, "func_0"=>{2=>4}}, c.cash)
+ assert_equal(34, c._from_to_to(3,4))
+ assert_equal([3, 4], c._to_to_from(34))
+ assert_equal([3, 3], c._to_to_from(33))
+ assert_equal({"func_1"=>{2=>16}, "func_0"=>{2=>4},
+ "_from_to_to"=>{[3, 3]=>[33], [3, 4]=>34}, "_to_to_from"=>{33=>[3, 3], 34=>[3, 4]}}, c.cash)
+ end
+ end
+ end
+
+ class Locale < MiniTest::TestCase
+ Term1 = When.m17n('Tokyo', 'zip')
+ Term2 = When.m17n(<<LABEL, <<NS, <<LOCALE)
+[
+Getsuyou
+Monday
+]
+LABEL
+ISO, jwiki=http://ja.wikipedia.org/wiki/, ewiki=http://en.wikipedia.org/wiki/
+NS
+=jwiki:, en=ewiki:
+LOCALE
+ Term3 = When.Resource('_co:Common::Week::Monday::Monday')
+
+ def test__locale
+ assert_equal("Tokyo", Term1.translate('en_US'))
+ assert_equal("Monday", Term2.translate('en_US'))
+ assert_equal("Monday", Term3.translate('en_US'))
+ end
+
+ def test__reference
+ assert_equal(nil, Term1.reference('ja_JP'))
+ assert_equal(nil, Term1.reference('en_US'))
+ assert_equal("http://ja.wikipedia.org/wiki/Getsuyou", Term2.reference('ja_JP'))
+ assert_equal("http://en.wikipedia.org/wiki/Monday", Term2.reference('en_US'))
+ assert_equal("http://ja.wikipedia.org/wiki/%E6%9C%88%E6%9B%9C%E6%97%A5", Term3.reference('ja_JP'))
+ end
+
+ def test__labels
+ assert_equal({""=>"Tokyo"}, Term1.names)
+ assert_equal({""=>"Getsuyou", "en"=>"Monday"}, Term2.names)
+ # assert_equal({""=>"Monday", "ja"=>"月曜日"}, Term3.names)
+ end
+
+ def test__link
+ assert_equal({},Term1.link)
+ assert_equal({""=>"http://ja.wikipedia.org/wiki/Getsuyou",
+ "en"=>"http://en.wikipedia.org/wiki/Monday"}, Term2.link)
+ assert_equal({"ja"=>"http://ja.wikipedia.org/wiki/%E6%9C%88%E6%9B%9C%E6%97%A5",
+ ""=>"http://en.wikipedia.org/wiki/Monday"}, Term3.link)
+ end
+
+ def test__prefix
+ date = When.when?('0594-09=12^Japanese')
+ assert_equal(["閏九月", String], [date.name('Month').label.to_s, date.name('Month').label.class])
+ assert_equal(["閏九月", String], [date.name('Month').to_s, date.name('Month').to_s.class])
+ assert_equal("http://ja.wikipedia.org/wiki/%E9%96%8F", date.name('Month').reference('ja'))
+ assert_equal("閏九月", date.name('Month').translate('日本語'))
+ assert_equal("閏長月", date.name('Month').translate('alias'))
+ assert_equal("Intercalary Month 9", date.name('Month').translate('en_US'))
+ end
+
+ def test__split
+ assert_equal(['' ], When::Locale._split(''))
+ assert_equal(['3.14' ], When::Locale._split('3.14'))
+ assert_equal(['3.14', ''], When::Locale._split('3.14,'))
+ assert_equal(['', '3.14'], When::Locale._split(',3.14'))
+ assert_equal(['3.14', ' "3.14,159"'], When::Locale._split('3.14, "3.14,159"'))
+ assert_equal(['3.14', ' "3.14\\"159"'], When::Locale._split('3.14, "3.14\\"159"'))
+ end
+ end
+
+ class Resource < MiniTest::TestCase
+ def test_nothing
+ end
+ end
+
+ class Enumerator < MiniTest::TestCase
+
+ def test_nothing
+ end
+
+ class Array < MiniTest::TestCase
+ def test_nothing
+ end
+ end
+
+ class Integrated < MiniTest::TestCase
+ def test_nothing
+ end
+ end
+ end
+
+ class GeometricComplex < MiniTest::TestCase
+
+ def test__include
+
+ sample = [false, false, false, false, false]
+ complex = When::Parts::GeometricComplex.new(false)
+ assert_equal(nil, complex.exclude_end?)
+ (1..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ sample = [true, true, true, true, true]
+ complex = When::Parts::GeometricComplex.new(true)
+ assert_equal(nil, complex.exclude_end?)
+ (1..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ sample = [false, true, true, true, false]
+ complex = When::Parts::GeometricComplex.new(2..4)
+ assert_equal(false, complex.exclude_end?)
+ (1..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ sample = [false, true, true, false, false]
+ complex = When::Parts::GeometricComplex.new(2...4)
+ assert_equal(true, complex.exclude_end?)
+ (1..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ sample = [true, false, false, false, true]
+ complex = -When::Parts::GeometricComplex.new(2..4)
+ assert_equal(true, complex.exclude_end?)
+ (1..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ sample = [true, false, false, true, true]
+ complex = -When::Parts::GeometricComplex.new(2...4)
+ assert_equal(false, complex.exclude_end?)
+ (1..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ period_1_2 = When::Parts::GeometricComplex.new(1..2)
+ period_2_3 = When::Parts::GeometricComplex.new(2..3)
+ period_3_4 = When::Parts::GeometricComplex.new(3..4)
+ period_4_5 = When::Parts::GeometricComplex.new(4..5)
+ period_5_6 = When::Parts::GeometricComplex.new(5..6)
+
+ period_2_4 = When::Parts::GeometricComplex.new(2..4)
+ period_3_6 = When::Parts::GeometricComplex.new(3..6)
+ period_4_6 = When::Parts::GeometricComplex.new(4..6)
+ period_1_6 = When::Parts::GeometricComplex.new(1..6)
+
+ [[false, period_1_2, period_4_6],
+ [false, period_1_2, period_2_4],
+ [false, period_2_4, period_3_6],
+ [false, period_2_3, period_2_4],
+ [true, period_2_4, period_2_3],
+
+ [false, period_2_4, period_1_6],
+ [true, period_1_6, period_2_4],
+ [true, period_2_4, period_2_4],
+
+ [false, period_3_6, period_2_4],
+ [false, period_3_4, period_2_4],
+ [true, period_2_4, period_3_4],
+ [false, period_4_5, period_2_4],
+ [false, period_5_6, period_2_4]].each do |sample|
+ assert_equal(sample[0], sample[1].include?(sample[2]))
+ end
+
+ period_1_2 = When::Parts::GeometricComplex.new(1...2)
+ period_2_3 = When::Parts::GeometricComplex.new(2...3)
+ period_3_4 = When::Parts::GeometricComplex.new(3...4)
+ period_4_5 = When::Parts::GeometricComplex.new(4...5)
+ period_5_6 = When::Parts::GeometricComplex.new(5...6)
+
+ period_2_4 = When::Parts::GeometricComplex.new(2...4)
+ period_3_6 = When::Parts::GeometricComplex.new(3...6)
+ period_4_6 = When::Parts::GeometricComplex.new(4...6)
+ period_1_6 = When::Parts::GeometricComplex.new(1...6)
+
+ [[false, period_1_2, period_4_6],
+ [false, period_1_2, period_2_4],
+ [false, period_2_4, period_3_6],
+ [false, period_2_3, period_2_4],
+ [true, period_2_4, period_2_3],
+
+ [false, period_2_4, period_1_6],
+ [true, period_1_6, period_2_4],
+ [true, period_2_4, period_2_4],
+
+ [false, period_3_6, period_2_4],
+ [false, period_3_4, period_2_4],
+ [true, period_2_4, period_3_4],
+ [false, period_4_5, period_2_4],
+ [false, period_5_6, period_2_4]].each do |sample|
+ assert_equal(sample[0], sample[1].include?(sample[2]))
+ end
+
+ period_1_2 = -When::Parts::GeometricComplex.new(1..2)
+ period_2_3 = -When::Parts::GeometricComplex.new(2..3)
+ period_3_4 = -When::Parts::GeometricComplex.new(3..4)
+ period_4_5 = -When::Parts::GeometricComplex.new(4..5)
+ period_5_6 = -When::Parts::GeometricComplex.new(5..6)
+
+ period_2_4 = -When::Parts::GeometricComplex.new(2..4)
+ period_3_6 = -When::Parts::GeometricComplex.new(3..6)
+ period_4_6 = -When::Parts::GeometricComplex.new(4..6)
+ period_1_6 = -When::Parts::GeometricComplex.new(1..6)
+
+ [[false, period_4_6, period_1_2],
+ [false, period_2_4, period_1_2],
+ [false, period_3_6, period_2_4],
+ [false, period_2_4, period_2_3],
+ [true, period_2_3, period_2_4],
+
+ [false, period_1_6, period_2_4],
+ [true, period_2_4, period_1_6],
+ [true, period_2_4, period_2_4],
+
+ [false, period_2_4, period_3_6],
+ [false, period_2_4, period_3_4],
+ [true, period_3_4, period_2_4],
+ [false, period_2_4, period_4_5],
+ [false, period_2_4, period_5_6]].each do |sample|
+ assert_equal(sample[0], sample[1].include?(sample[2]))
+ end
+
+ period_1_2 = -When::Parts::GeometricComplex.new(1...2)
+ period_2_3 = -When::Parts::GeometricComplex.new(2...3)
+ period_3_4 = -When::Parts::GeometricComplex.new(3...4)
+ period_4_5 = -When::Parts::GeometricComplex.new(4...5)
+ period_5_6 = -When::Parts::GeometricComplex.new(5...6)
+
+ period_2_4 = -When::Parts::GeometricComplex.new(2...4)
+ period_3_6 = -When::Parts::GeometricComplex.new(3...6)
+ period_4_6 = -When::Parts::GeometricComplex.new(4...6)
+ period_1_6 = -When::Parts::GeometricComplex.new(1...6)
+
+ [[false, period_4_6, period_1_2],
+ [false, period_2_4, period_1_2],
+ [false, period_3_6, period_2_4],
+ [false, period_2_4, period_2_3],
+ [true, period_2_3, period_2_4],
+
+ [false, period_1_6, period_2_4],
+ [true, period_2_4, period_1_6],
+ [true, period_2_4, period_2_4],
+
+ [false, period_2_4, period_3_6],
+ [false, period_2_4, period_3_4],
+ [true, period_3_4, period_2_4],
+ [false, period_2_4, period_4_5],
+ [false, period_2_4, period_5_6]].each do |sample|
+ assert_equal(sample[0], sample[1].include?(sample[2]))
+ end
+ end
+
+ def test__union
+
+ sample = [false, true, false, true, true, false]
+ complex = When::Parts::GeometricComplex.new(3..4)
+ complex |= 1
+ (0..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ sample = [true, false, true, false, false, true]
+ complex = When::Parts::GeometricComplex.new(3..4)
+ complex |= 1
+ complex = -complex
+ (0..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ sample = [false, true, false, true, false, false]
+ complex = When::Parts::GeometricComplex.new(3...4)
+ complex |= 1
+ (0..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ sample = [true, false, true, false, true, true]
+ complex = When::Parts::GeometricComplex.new(3...4)
+ complex |= 1
+ complex = -complex
+ (0..5).each do |i|
+ assert_equal(sample.shift, complex.include?(i))
+ end
+
+ complex = When::Parts::GeometricComplex.new(3..5)
+ (3..5).each do |i|
+ union = complex | i
+ assert_equal(complex, union)
+ end
+
+ assert_equal(When::Parts::GeometricComplex.new(3..5),
+ When::Parts::GeometricComplex.new(3...5) | 5)
+
+ null = When::Parts::GeometricComplex.new(false)
+ all = When::Parts::GeometricComplex.new(true)
+ period_1_2 = When::Parts::GeometricComplex.new(1..2)
+ period_2_3 = When::Parts::GeometricComplex.new(2..3)
+ period_3_4 = When::Parts::GeometricComplex.new(3..4)
+ period_4_5 = When::Parts::GeometricComplex.new(4..5)
+ period_5_6 = When::Parts::GeometricComplex.new(5..6)
+
+ period_1_4 = When::Parts::GeometricComplex.new(1..4)
+ period_2_4 = When::Parts::GeometricComplex.new(2..4)
+ period_2_5 = When::Parts::GeometricComplex.new(2..5)
+ period_2_6 = When::Parts::GeometricComplex.new(2..6)
+ period_3_6 = When::Parts::GeometricComplex.new(3..6)
+ period_4_6 = When::Parts::GeometricComplex.new(4..6)
+ period_1_6 = When::Parts::GeometricComplex.new(1..6)
+
+ period_1_2_4_6 = When::Parts::GeometricComplex.new([[1,true],[2,true],[4,true],[6,true]])
+ period_2_4_5_6 = When::Parts::GeometricComplex.new([[2,true],[4,true],[5,true],[6,true]])
+
+ [[period_1_2_4_6, null, period_1_2_4_6],
+ [period_1_2_4_6, period_1_2_4_6, null],
+ [all, all, period_1_2_4_6],
+ [all, period_1_2_4_6, all],
+ [period_1_2_4_6, period_1_2, period_4_6],
+ [period_1_4, period_1_2, period_2_4],
+ [period_2_6, period_2_4, period_3_6],
+ [period_2_4, period_2_3, period_2_4],
+ [period_2_4, period_2_4, period_2_3],
+
+ [period_1_6, period_2_4, period_1_6],
+ [period_1_6, period_1_6, period_2_4],
+ [period_2_4, period_2_4, period_2_4],
+
+ [period_2_6, period_3_6, period_2_4],
+ [period_2_4, period_3_4, period_2_4],
+ [period_2_4, period_2_4, period_3_4],
+ [period_2_5, period_4_5, period_2_4],
+ [period_2_4_5_6, period_5_6, period_2_4]].each do |sample|
+ assert_equal(sample[0], sample[1] | sample[2])
+ end
+
+ period_1_2 = When::Parts::GeometricComplex.new(1...2)
+ period_2_3 = When::Parts::GeometricComplex.new(2...3)
+ period_3_4 = When::Parts::GeometricComplex.new(3...4)
+ period_4_5 = When::Parts::GeometricComplex.new(4...5)
+ period_5_6 = When::Parts::GeometricComplex.new(5...6)
+
+ period_1_4 = When::Parts::GeometricComplex.new(1...4)
+ period_2_4 = When::Parts::GeometricComplex.new(2...4)
+ period_2_5 = When::Parts::GeometricComplex.new(2...5)
+ period_2_6 = When::Parts::GeometricComplex.new(2...6)
+ period_3_6 = When::Parts::GeometricComplex.new(3...6)
+ period_4_6 = When::Parts::GeometricComplex.new(4...6)
+ period_1_6 = When::Parts::GeometricComplex.new(1...6)
+
+ period_1_2_4_6 = When::Parts::GeometricComplex.new([[1,true],[2,false],[4,true],[6,false]])
+ period_2_4_5_6 = When::Parts::GeometricComplex.new([[2,true],[4,false],[5,true],[6,false]])
+
+ [[period_1_2_4_6, null, period_1_2_4_6],
+ [period_1_2_4_6, period_1_2_4_6, null],
+ [all, all, period_1_2_4_6],
+ [all, period_1_2_4_6, all],
+ [period_1_2_4_6, period_1_2, period_4_6],
+ [period_1_4, period_1_2, period_2_4],
+ [period_2_6, period_2_4, period_3_6],
+ [period_2_4, period_2_3, period_2_4],
+ [period_2_4, period_2_4, period_2_3],
+
+ [period_1_6, period_2_4, period_1_6],
+ [period_1_6, period_1_6, period_2_4],
+ [period_2_4, period_2_4, period_2_4],
+
+ [period_2_6, period_3_6, period_2_4],
+ [period_2_4, period_3_4, period_2_4],
+ [period_2_4, period_2_4, period_3_4],
+ [period_2_5, period_4_5, period_2_4],
+ [period_2_4_5_6, period_5_6, period_2_4]].each do |sample|
+ assert_equal(sample[0], sample[1] | sample[2])
+ end
+ end
+
+ def test__include_in_sample
+ range_1_4 = When::Parts::GeometricComplex.new(1,4)
+ range_2_2 = When::Parts::GeometricComplex.new(2)
+ range_2_3 = When::Parts::GeometricComplex.new(2,3)
+ range_2_5 = When::Parts::GeometricComplex.new(2,5)
+ range_4_4 = When::Parts::GeometricComplex.new(4)
+ assert_equal(true, range_1_4.include?(range_2_2))
+ assert_equal(true, range_1_4.include?(range_2_3))
+ assert_equal(false, range_1_4.include?(range_2_5))
+ assert_equal(false, range_1_4.include?(range_4_4))
+ end
+
+ def test__union_in_sample
+ #range_null = When::Parts::GeometricComplex.new()
+ #range_1_1 = When::Parts::GeometricComplex.new(1)
+ range_1_4 = When::Parts::GeometricComplex.new(1,4)
+ range_2_2 = When::Parts::GeometricComplex.new(2)
+ range_2_3 = When::Parts::GeometricComplex.new(2,3)
+ range_2_5 = When::Parts::GeometricComplex.new(2,5)
+ range_4_4 = When::Parts::GeometricComplex.new(4)
+ assert_equal("1...4", range_1_4.to_s)
+ assert_equal("2...3", range_2_3.to_s)
+ sample = [1, 2, 3]
+ range_1_4.each {|x| assert_equal(sample.shift, x)}
+ assert_equal("4..4", range_4_4.to_s)
+ assert_equal("1...4", (range_1_4 | range_2_3).to_s)
+ range_1_5 = range_1_4 | range_2_5
+ assert_equal("1...5", range_1_5.to_s)
+ assert_equal("1..4", (range_1_4 | range_4_4).to_s)
+ reverse_all = When::Parts::GeometricComplex.new(true)
+ reverse_1_4 = When::Parts::GeometricComplex.new(1,4, true)
+ reverse_2_3 = When::Parts::GeometricComplex.new(2,3, true)
+ reverse_2_5 = When::Parts::GeometricComplex.new(2,5, true)
+ assert_equal("1..4", reverse_1_4.to_s)
+ assert_equal("2..3", reverse_2_3.to_s)
+ unless Float::INFINITY == Float::MAX
+ assert_equal("-Infinity..Infinity", reverse_all.to_s)
+ assert_equal("-Infinity..Infinity", (reverse_2_3 | range_2_3).to_s)
+ end
+ assert_equal("1..2", (reverse_1_4 | range_2_5).to_s)
+ end
+ end
+end