Class: Interval::TestSimpleArithmetic
- Inherits:
-
Test::Unit::TestCase
- Object
- Test::Unit::TestCase
- Interval::TestSimpleArithmetic
- Defined in:
- lib/interval.rb
Overview
Tests the arithmetic of Interval::Simple.
Instance Method Summary collapse
- #test_dsub ⇒ Object
- #test_inverse ⇒ Object
- #test_minus ⇒ Object
- #test_plus ⇒ Object
- #test_power ⇒ Object
- #test_times ⇒ Object
Instance Method Details
#test_dsub ⇒ Object
847 848 849 850 851 852 |
# File 'lib/interval.rb', line 847 def test_dsub assert_equal(Interval[2], Interval[3,4].dsub(Interval[1,2])) assert_equal(Interval[3,4], Interval[4,6].dsub(Interval[1,2])) assert_equal(Interval[], Interval[3,4].dsub(Interval[0,2])) end |
#test_inverse ⇒ Object
863 864 865 866 867 868 |
# File 'lib/interval.rb', line 863 def test_inverse assert_equal(Interval[0.5,1],Interval[1,2].inverse) assert_equal(Interval[-1,-0.5],(-Interval[1,2]).inverse) assert_equal(Interval[[-Infinity,-1],[0.5,+Infinity]],Interval[-1,2].inverse) assert_equal(Interval[[-Infinity],[1,+Infinity]],Interval[0,1].inverse) end |
#test_minus ⇒ Object
843 844 845 |
# File 'lib/interval.rb', line 843 def test_minus assert_equal(Interval[-2,-1], -Interval[1,2]) end |
#test_plus ⇒ Object
835 836 837 838 839 840 841 |
# File 'lib/interval.rb', line 835 def test_plus assert_equal(Interval[-Infinity,+Infinity], Interval[-Infinity] + Interval[Infinity]) assert_equal(Interval[4,6], Interval[1,2] + Interval[3,4]) assert_equal(Interval[3,Infinity], Interval[1,Infinity]+Interval[2]) assert_equal(Interval[-Infinity,+Infinity],Interval[-Infinity,-1] + Interval[2,+Infinity]) assert_equal(Interval[-Infinity,+Infinity],Interval[-Infinity] + Interval[8,+Infinity]) end |
#test_power ⇒ Object
870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 |
# File 'lib/interval.rb', line 870 def test_power assert_equal((-Interval[1,2]).inverse, (-Interval[1,2]) ** -1) assert_equal(Interval[0,4], Interval[-1,2]**2) assert_equal(Interval[-27,8], Interval[-3,2]**3) assert_equal( Interval[FPU.down{(1/3.0)*(1/3.0)},FPU.up{(1/3.0)*(1/3.0)}], (Interval[1]/3.0) ** 2) assert_equal( Interval[ FPU.down{(1/3.0)*(1/3.0)*(1/3.0)}, FPU.up{(1/3.0)*(1/3.0)*(1/3.0)}], (Interval[1]/3.0) ** 3) end |
#test_times ⇒ Object
854 855 856 857 858 859 860 861 |
# File 'lib/interval.rb', line 854 def test_times assert_equal(Interval[-Infinity,+Infinity],Interval[Infinity] * Interval[0]) assert_equal(Interval[+Infinity],Interval[Infinity] * Interval[3]) assert_equal(Interval[-8,+10], Interval[1,2] * Interval[-4,5]) assert_equal(Interval[3,8], Interval[1,2] * Interval[3,4]) assert_equal(Interval[-Infinity,+Infinity],Interval[0,1] * Interval[2,Infinity]) assert_equal(Interval[2, Infinity], Interval[-Infinity,-2] * Interval[-Infinity,-1]) end |