<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>spec/frozen/core/complex/modulo_spec.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/core/complex/multiply_spec.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/core/complex/numerator_spec.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/core/complex/plus_spec.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/core/complex/polar_spec.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/core/complex/real_spec.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/core/complex/to_s_spec.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/shared/complex/modulo.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/shared/complex/multiply.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/shared/complex/numerator.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/shared/complex/plus.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/shared/complex/polar.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/shared/complex/real.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/shared/complex/to_s.rb</filename>
    </added>
    <added>
      <filename>spec/frozen/tags/1.9/core/complex/modulo_tags.txt</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -37,7 +37,7 @@ describe &quot;Bignum#&lt;=&gt;&quot; do
     end
 
     it &quot;returns 1 when self is negative and other is -Infinity&quot; do
-      (-Float::MAX.to_i*2 &lt;=&gt; @inf).should == 1
+      (-Float::MAX.to_i*2 &lt;=&gt; -@inf).should == 1
     end
 
     it &quot;returns -1 when self is -Infinity and other is negative&quot; do</diff>
      <filename>spec/frozen/core/bignum/comparison_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -33,9 +33,9 @@ describe :dir_exists, :shared =&gt; true do
     Dir.send(@method, dir).should be_true
   end
 
-  it &quot;expands paths&quot; do
+  it &quot;doesn't expand paths&quot; do
     Dir.send(@method, File.expand_path('~')).should be_true
-    Dir.send(@method, '~').should be_true
+    Dir.send(@method, '~').should be_false
   end
 
   it &quot;returns false if the argument exists but is a file&quot; do</diff>
      <filename>spec/frozen/core/dir/shared/exists.rb</filename>
    </modified>
    <modified>
      <diff>@@ -25,16 +25,16 @@ describe &quot;Float#&lt;=&gt;&quot; do
       (@inf &lt;=&gt; Float::MAX.to_i*2).should == 1
     end  
 
-    it &quot;returns 1 when self is negative and other is Infinty&quot; do
-      (-Float::MAX.to_i*2 &lt;=&gt; @inf).should == 1
+    it &quot;returns -1 when self is negative and other is Infinty&quot; do
+      (-Float::MAX.to_i*2 &lt;=&gt; @inf).should == -1
     end  
 
     it &quot;returns -1 when self is -Infinity and other is negative&quot; do
       (-@inf &lt;=&gt; -Float::MAX.to_i*2).should == -1
     end
 
-    it &quot;returns -1 when self is negative and other is -Infinity&quot; do
-      (-@inf &lt;=&gt; -Float::MAX.to_i*2).should == -1
+    it &quot;returns 1 when self is negative and other is -Infinity&quot; do
+      (-Float::MAX.to_i*2 &lt;=&gt; -@inf).should == 1
     end
   end
 
@@ -45,16 +45,16 @@ describe &quot;Float#&lt;=&gt;&quot; do
       (@inf &lt;=&gt; Float::MAX.to_i*2).should == 1
     end  
 
-    it &quot;returns 1 when self is negative and other is Infinty&quot; do
-      (-Float::MAX.to_i*2 &lt;=&gt; @inf).should == 1
+    it &quot;returns -1 when self is negative and other is Infinty&quot; do
+      (-Float::MAX.to_i*2 &lt;=&gt; @inf).should == -1
     end  
 
     it &quot;returns -1 when self is -Infinity and other is negative&quot; do
       (-@inf &lt;=&gt; -Float::MAX.to_i*2).should == -1
     end
 
-    it &quot;returns -1 when self is negative and other is -Infinity&quot; do
-      (-@inf &lt;=&gt; -Float::MAX.to_i*2).should == -1
+    it &quot;returns 1 when self is negative and other is -Infinity&quot; do
+      (-Float::MAX.to_i*2 &lt;=&gt; -@inf).should == 1
     end
   end
 end</diff>
      <filename>spec/frozen/core/float/comparison_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,52 +1,56 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
 
-describe &quot;Complex when passed [Complex, Complex]&quot; do
-  it &quot;returns a new Complex number based on the two given numbers&quot; do
-    Complex(Complex(3, 4), Complex(5, 6)).should == Complex.new(3 - 6, 4 + 5)
-    Complex(Complex(1.5, 2), Complex(-5, 6.3)).should == Complex.new(1.5 - 6.3, 2 - 5)
-  end
-end
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
 
-describe &quot;Complex when passed [Complex]&quot; do
-  it &quot;returns the passed Complex number&quot; do
-    Complex(Complex(1, 2)).should == Complex(1, 2)
-    Complex(Complex(-3.4, bignum_value)).should == Complex(-3.4, bignum_value)
+  describe &quot;Complex when passed [Complex, Complex]&quot; do
+    it &quot;returns a new Complex number based on the two given numbers&quot; do
+      Complex(Complex(3, 4), Complex(5, 6)).should == Complex.new(3 - 6, 4 + 5)
+      Complex(Complex(1.5, 2), Complex(-5, 6.3)).should == Complex.new(1.5 - 6.3, 2 - 5)
+    end
   end
-end
 
-describe &quot;Complex when passed [Integer, Integer]&quot; do
-  it &quot;returns a new Complex number&quot; do
-    Complex(1, 2).should == Complex.new(1, 2)
-    Complex(-3, -5).should == Complex.new(-3, -5)
-    Complex(3.5, -4.5).should == Complex.new(3.5, -4.5)
-    Complex(bignum_value, 30).should == Complex.new(bignum_value, 30)
+  describe &quot;Complex when passed [Complex]&quot; do
+    it &quot;returns the passed Complex number&quot; do
+      Complex(Complex(1, 2)).should == Complex(1, 2)
+      Complex(Complex(-3.4, bignum_value)).should == Complex(-3.4, bignum_value)
+    end
   end
-end
 
-describe &quot;Complex when passed [Integer]&quot; do
-  it &quot;returns a new Complex number with 0 as the imaginary component&quot; do
-    # Guard against the Mathn library
-    conflicts_with :Prime do
-      Complex(1).should eql(Complex.new(1, 0))
-      Complex(-3).should eql(Complex.new(-3, 0))
-      Complex(-4.5).should eql(Complex.new(-4.5, 0))
-      Complex(bignum_value).should eql(Complex.new(bignum_value, 0))
+  describe &quot;Complex when passed [Integer, Integer]&quot; do
+    it &quot;returns a new Complex number&quot; do
+      Complex(1, 2).should == Complex.new(1, 2)
+      Complex(-3, -5).should == Complex.new(-3, -5)
+      Complex(3.5, -4.5).should == Complex.new(3.5, -4.5)
+      Complex(bignum_value, 30).should == Complex.new(bignum_value, 30)
     end
   end
-  
-  it &quot;returns the passed Integer when Complex::Unify is defined&quot; do
-    # Guard against the Mathn library
-    conflicts_with :Prime do
-      begin
-        Complex::Unify = true
-      
-        Complex(1).should eql(1)
-        Complex(-3).should eql(-3)
-        Complex(-4.5).should eql(-4.5)
-        Complex(bignum_value).should eql(bignum_value)
-      ensure
-        Complex.send :remove_const, :Unify
+
+  describe &quot;Complex when passed [Integer]&quot; do
+    it &quot;returns a new Complex number with 0 as the imaginary component&quot; do
+      # Guard against the Mathn library
+      conflicts_with :Prime do
+        Complex(1).should eql(Complex.new(1, 0))
+        Complex(-3).should eql(Complex.new(-3, 0))
+        Complex(-4.5).should eql(Complex.new(-4.5, 0))
+        Complex(bignum_value).should eql(Complex.new(bignum_value, 0))
+      end
+    end
+    
+    it &quot;returns the passed Integer when Complex::Unify is defined&quot; do
+      # Guard against the Mathn library
+      conflicts_with :Prime do
+        begin
+          Complex::Unify = true
+        
+          Complex(1).should eql(1)
+          Complex(-3).should eql(-3)
+          Complex(-4.5).should eql(-4.5)
+          Complex(bignum_value).should eql(bignum_value)
+        ensure
+          Complex.send :remove_const, :Unify
+        end
       end
     end
   end</diff>
      <filename>spec/frozen/library/complex/Complex_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../shared/complex/abs2'
-require 'complex'
 
 ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require 'complex'
+  
   describe &quot;Complex#abs2&quot; do
     it_behaves_like(:complex_abs2, :abs2)
   end</diff>
      <filename>spec/frozen/library/complex/abs2_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../shared/complex/abs'
-require 'complex'
 
 ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+  
   describe &quot;Complex#abs&quot; do
     it_behaves_like(:complex_abs, :abs)
   end</diff>
      <filename>spec/frozen/library/complex/abs_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,10 @@
 require File.dirname(__FILE__) + '/../../shared/complex/coerce'
-require 'complex'
-require &quot;rational&quot;
 
 ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require 'complex'
+  require &quot;rational&quot;
+  
   describe &quot;Complex#coerce&quot; do
     it_behaves_like(:complex_coerce, :coerce)
   end</diff>
      <filename>spec/frozen/library/complex/coerce_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
 
 ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require 'complex'
+  
   describe &quot;Complex#&lt;=&gt;&quot; do
     it &quot;compares the absolute values of self and other&quot; do
       (Complex(1, 2) &lt;=&gt; Complex(2, 1)).should == 0</diff>
      <filename>spec/frozen/library/complex/comparison_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,19 @@
 require File.dirname(__FILE__) + '/../../shared/complex/denominator'
-require 'complex'
-
-# FIXME:
-# Complex#denominator requires the rational library,
-# as Integer#denominator is defined by it.
-# I think this method is pretty buggy, as there is no
-# denominator for Floats and rational might not always
-# be loaded, both resulting in a method missing exception.
-# Also, the documentation for Complex#denominator does
-# not mention a dependency for rational.
-require &quot;rational&quot;
 
 ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require 'complex'
+
+  # FIXME:
+  # Complex#denominator requires the rational library,
+  # as Integer#denominator is defined by it.
+  # I think this method is pretty buggy, as there is no
+  # denominator for Floats and rational might not always
+  # be loaded, both resulting in a method missing exception.
+  # Also, the documentation for Complex#denominator does
+  # not mention a dependency for rational.
+  require &quot;rational&quot;
+
   describe &quot;Complex#denominator&quot; do
     it_behaves_like(:complex_denominator, :denominator)
   end</diff>
      <filename>spec/frozen/library/complex/denominator_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../shared/complex/divide'
-require 'complex'
 
 ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require 'complex'
+  
   describe &quot;Complex#/ with Complex&quot; do
     it_behaves_like(:complex_divide_complex, :/)
   end</diff>
      <filename>spec/frozen/library/complex/divide_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,9 @@
 require File.dirname(__FILE__) + '/../../shared/complex/equal_value'
-require 'complex'
 
 ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require 'complex'
+  
   describe &quot;Complex#== with Complex&quot; do
     it_behaves_like(:complex_equal_value_complex, :shared =&gt; true)
   end</diff>
      <filename>spec/frozen/library/complex/equal_value_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,10 @@
 require File.dirname(__FILE__) + '/../../shared/complex/exponent'
-require &quot;complex&quot;
-require &quot;rational&quot;
 
 ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require &quot;complex&quot;
+  require &quot;rational&quot;
+  
   describe &quot;Complex#** when given 0&quot; do
     it_behaves_like(:complex_exponent_zero, :**)
   end</diff>
      <filename>spec/frozen/library/complex/exponent_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,23 +1,27 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
-require &quot;rational&quot;
 
-describe &quot;Complex.generic?&quot; do
-  it &quot;returns true when given an Integer, Float or Rational&quot; do
-    Complex.generic?(1).should == true
-    Complex.generic?(-1).should == true
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
 
-    Complex.generic?(20.3).should == true
-    Complex.generic?(-20.3).should == true
+  require 'complex'
+  require &quot;rational&quot;
 
-    Complex.generic?(bignum_value).should == true
-    Complex.generic?(-bignum_value).should == true
+  describe &quot;Complex.generic?&quot; do
+    it &quot;returns true when given an Integer, Float or Rational&quot; do
+      Complex.generic?(1).should == true
+      Complex.generic?(-1).should == true
 
-    Complex.generic?(Rational(3, 4)).should == true
-    Complex.generic?(-Rational(3, 4)).should == true
-    
-    Complex.generic?(:symbol).should == false
-    Complex.generic?(&quot;string&quot;).should == false
-    Complex.generic?(mock(&quot;Object&quot;)).should == false
+      Complex.generic?(20.3).should == true
+      Complex.generic?(-20.3).should == true
+
+      Complex.generic?(bignum_value).should == true
+      Complex.generic?(-bignum_value).should == true
+
+      Complex.generic?(Rational(3, 4)).should == true
+      Complex.generic?(-Rational(3, 4)).should == true
+      
+      Complex.generic?(:symbol).should == false
+      Complex.generic?(&quot;string&quot;).should == false
+      Complex.generic?(mock(&quot;Object&quot;)).should == false
+    end
   end
 end</diff>
      <filename>spec/frozen/library/complex/generic_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,17 +1,21 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
 
-describe &quot;Complex#hash&quot; do
-  # NOTE:
-  # Complex(2, 1).hash == Complex(1, 2).hash
-  # This can result in Bugs when using hash and
-  # other stuff that relies on #hash
-  it &quot;should be static&quot; do
-    Complex(1).hash.should    == Complex(1).hash
-    Complex(1, 0).hash.should == Complex(1).hash
-    Complex(1, 1).hash.should == Complex(1, 1).hash
-    
-    Complex(1, 2).hash.should_not == Complex(1, 1).hash
-    Complex(2, 1).hash.should_not == Complex(1, 1).hash
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Complex#hash&quot; do
+    # NOTE:
+    # Complex(2, 1).hash == Complex(1, 2).hash
+    # This can result in Bugs when using hash and
+    # other stuff that relies on #hash
+    it &quot;should be static&quot; do
+      Complex(1).hash.should    == Complex(1).hash
+      Complex(1, 0).hash.should == Complex(1).hash
+      Complex(1, 1).hash.should == Complex(1, 1).hash
+      
+      Complex(1, 2).hash.should_not == Complex(1, 1).hash
+      Complex(2, 1).hash.should_not == Complex(1, 1).hash
+    end
   end
 end</diff>
      <filename>spec/frozen/library/complex/hash_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,10 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
 require File.dirname(__FILE__) + '/shared/image'
-require 'complex'
 
-describe &quot;Complex#imag&quot; do
-  it_behaves_like(:complex_image, :imag)
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  require 'complex'
+
+  describe &quot;Complex#imag&quot; do
+    it_behaves_like(:complex_image, :imag)
+  end
 end</diff>
      <filename>spec/frozen/library/complex/imag_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,11 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require File.dirname(__FILE__) + '/shared/image'
-require 'complex'
 
-describe &quot;Complex#image&quot; do
-  it_behaves_like(:complex_image, :image)
-end
\ No newline at end of file
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+  require File.dirname(__FILE__) + '/shared/image'
+
+  describe &quot;Complex#image&quot; do
+    it_behaves_like(:complex_image, :image)
+  end
+end</diff>
      <filename>spec/frozen/library/complex/image_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,19 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
-
-describe &quot;Complex#inspect&quot; do
-  it %{returns &quot;Complex(real, image)&quot;} do
-    # Guard against the Mathn library
-    conflicts_with :Prime do
-      Complex(1).inspect.should == &quot;Complex(1, 0)&quot;
-      Complex(7).inspect.should == &quot;Complex(7, 0)&quot;
-    end
 
-    Complex(-1, 4).inspect.should == &quot;Complex(-1, 4)&quot;
-    Complex(-7, 6.7).inspect.should == &quot;Complex(-7, 6.7)&quot;
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Complex#inspect&quot; do
+    it %{returns &quot;Complex(real, image)&quot;} do
+      # Guard against the Mathn library
+      conflicts_with :Prime do
+        Complex(1).inspect.should == &quot;Complex(1, 0)&quot;
+        Complex(7).inspect.should == &quot;Complex(7, 0)&quot;
+      end
+
+      Complex(-1, 4).inspect.should == &quot;Complex(-1, 4)&quot;
+      Complex(-7, 6.7).inspect.should == &quot;Complex(-7, 6.7)&quot;
+    end
   end
 end</diff>
      <filename>spec/frozen/library/complex/inspect_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,29 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/acos'
 
-describe &quot;Math#acos&quot; do
-  it_behaves_like :complex_math_acos, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:acos)
+  describe &quot;Math#acos&quot; do
+    it_behaves_like :complex_math_acos, :_, IncludesMath.new
+
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:acos)
+    end
   end
-end
 
-describe &quot;Math#acos!&quot; do
-  it_behaves_like :complex_math_acos_bang, :_, IncludesMath.new
+  describe &quot;Math#acos!&quot; do
+    it_behaves_like :complex_math_acos_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:acos!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:acos!)
+    end
   end
-end
 
-describe &quot;Math.acos&quot; do
-  it_behaves_like :complex_math_acos, :_, Math
-end
+  describe &quot;Math.acos&quot; do
+    it_behaves_like :complex_math_acos, :_, Math
+  end
 
-describe &quot;Math.acos!&quot; do
-  it_behaves_like :complex_math_acos_bang, :_, Math
+  describe &quot;Math.acos!&quot; do
+    it_behaves_like :complex_math_acos_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/acos_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/acosh'
 
-describe &quot;Math#acosh&quot; do
-  it_behaves_like :complex_math_acosh, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#acosh&quot; do
+    it_behaves_like :complex_math_acosh, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:acosh)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:acosh)
+    end
   end
-end
 
-describe &quot;Math#acosh!&quot; do
-  it_behaves_like :complex_math_acosh_bang, :_, IncludesMath.new
+  describe &quot;Math#acosh!&quot; do
+    it_behaves_like :complex_math_acosh_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:acosh!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:acosh!)
+    end
   end
-end
 
-describe &quot;Math.acosh&quot; do
-  it_behaves_like :complex_math_acosh, :_, Math
-end
+  describe &quot;Math.acosh&quot; do
+    it_behaves_like :complex_math_acosh, :_, Math
+  end
 
-describe &quot;Math.acosh!&quot; do
-  it_behaves_like :complex_math_acosh_bang, :_, Math
+  describe &quot;Math.acosh!&quot; do
+    it_behaves_like :complex_math_acosh_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/acosh_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/asin'
 
-describe &quot;Math#asin&quot; do
-  it_behaves_like :complex_math_asin, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#asin&quot; do
+    it_behaves_like :complex_math_asin, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:asin)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:asin)
+    end
   end
-end
 
-describe &quot;Math#asin!&quot; do
-  it_behaves_like :complex_math_asin_bang, :_, IncludesMath.new
+  describe &quot;Math#asin!&quot; do
+    it_behaves_like :complex_math_asin_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:asin!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:asin!)
+    end
   end
-end
 
-describe &quot;Math.asin&quot; do
-  it_behaves_like :complex_math_asin, :_, Math
-end
+  describe &quot;Math.asin&quot; do
+    it_behaves_like :complex_math_asin, :_, Math
+  end
 
-describe &quot;Math.asin!&quot; do
-  it_behaves_like :complex_math_asin_bang, :_, Math
+  describe &quot;Math.asin!&quot; do
+    it_behaves_like :complex_math_asin_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/asin_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/asinh'
 
-describe &quot;Math#asinh&quot; do
-  it_behaves_like :complex_math_asinh, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#asinh&quot; do
+    it_behaves_like :complex_math_asinh, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:asinh)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:asinh)
+    end
   end
-end
 
-describe &quot;Math#asinh!&quot; do
-  it_behaves_like :complex_math_asinh_bang, :_, IncludesMath.new
+  describe &quot;Math#asinh!&quot; do
+    it_behaves_like :complex_math_asinh_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:asinh!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:asinh!)
+    end
   end
-end
 
-describe &quot;Math.asinh&quot; do
-  it_behaves_like :complex_math_asinh, :_, Math
-end
+  describe &quot;Math.asinh&quot; do
+    it_behaves_like :complex_math_asinh, :_, Math
+  end
 
-describe &quot;Math.asinh!&quot; do
-  it_behaves_like :complex_math_asinh_bang, :_, Math
+  describe &quot;Math.asinh!&quot; do
+    it_behaves_like :complex_math_asinh_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/asinh_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/atan2'
 
-describe &quot;Math#atan2&quot; do
-  it_behaves_like :complex_math_atan2, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#atan2&quot; do
+    it_behaves_like :complex_math_atan2, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:atan2)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:atan2)
+    end
   end
-end
 
-describe &quot;Math#atan2!&quot; do
-  it_behaves_like :complex_math_atan2_bang, :_, IncludesMath.new
+  describe &quot;Math#atan2!&quot; do
+    it_behaves_like :complex_math_atan2_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:atan2!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:atan2!)
+    end
   end
-end
 
-describe &quot;Math.atan2&quot; do
-  it_behaves_like :complex_math_atan2, :_, Math
-end
+  describe &quot;Math.atan2&quot; do
+    it_behaves_like :complex_math_atan2, :_, Math
+  end
 
-describe &quot;Math.atan2!&quot; do
-  it_behaves_like :complex_math_atan2_bang, :_, Math
+  describe &quot;Math.atan2!&quot; do
+    it_behaves_like :complex_math_atan2_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/atan2_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/atan'
 
-describe &quot;Math#atan&quot; do
-  it_behaves_like :complex_math_atan, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#atan&quot; do
+    it_behaves_like :complex_math_atan, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:atan)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:atan)
+    end
   end
-end
 
-describe &quot;Math#atan!&quot; do
-  it_behaves_like :complex_math_atan_bang, :_, IncludesMath.new
+  describe &quot;Math#atan!&quot; do
+    it_behaves_like :complex_math_atan_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:atan!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:atan!)
+    end
   end
-end
 
-describe &quot;Math.atan&quot; do
-  it_behaves_like :complex_math_atan, :_, Math
-end
+  describe &quot;Math.atan&quot; do
+    it_behaves_like :complex_math_atan, :_, Math
+  end
 
-describe &quot;Math.atan!&quot; do
-  it_behaves_like :complex_math_atan_bang, :_, Math
+  describe &quot;Math.atan!&quot; do
+    it_behaves_like :complex_math_atan_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/atan_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/atanh'
 
-describe &quot;Math#atanh&quot; do
-  it_behaves_like :complex_math_atanh, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#atanh&quot; do
+    it_behaves_like :complex_math_atanh, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:atanh)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:atanh)
+    end
   end
-end
 
-describe &quot;Math#atanh!&quot; do
-  it_behaves_like :complex_math_atanh_bang, :_, IncludesMath.new
+  describe &quot;Math#atanh!&quot; do
+    it_behaves_like :complex_math_atanh_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:atanh!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:atanh!)
+    end
   end
-end
 
-describe &quot;Math.atanh&quot; do
-  it_behaves_like :complex_math_atanh, :_, Math
-end
+  describe &quot;Math.atanh&quot; do
+    it_behaves_like :complex_math_atanh, :_, Math
+  end
 
-describe &quot;Math.atanh!&quot; do
-  it_behaves_like :complex_math_atanh_bang, :_, Math
+  describe &quot;Math.atanh!&quot; do
+    it_behaves_like :complex_math_atanh_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/atanh_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/cos'
 
-describe &quot;Math#cos&quot; do
-  it_behaves_like :complex_math_cos, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#cos&quot; do
+    it_behaves_like :complex_math_cos, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:cos)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:cos)
+    end
   end
-end
 
-describe &quot;Math#cos!&quot; do
-  it_behaves_like :complex_math_cos_bang, :_, IncludesMath.new
+  describe &quot;Math#cos!&quot; do
+    it_behaves_like :complex_math_cos_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:cos!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:cos!)
+    end
   end
-end
 
-describe &quot;Math.cos&quot; do
-  it_behaves_like :complex_math_cos, :_, Math
-end
+  describe &quot;Math.cos&quot; do
+    it_behaves_like :complex_math_cos, :_, Math
+  end
 
-describe &quot;Math.cos!&quot; do
-  it_behaves_like :complex_math_cos_bang, :_, Math
+  describe &quot;Math.cos!&quot; do
+    it_behaves_like :complex_math_cos_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/cos_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/cosh'
 
-describe &quot;Math#cosh&quot; do
-  it_behaves_like :complex_math_cosh, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#cosh&quot; do
+    it_behaves_like :complex_math_cosh, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:cosh)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:cosh)
+    end
   end
-end
 
-describe &quot;Math#cosh!&quot; do
-  it_behaves_like :complex_math_cosh_bang, :_, IncludesMath.new
+  describe &quot;Math#cosh!&quot; do
+    it_behaves_like :complex_math_cosh_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:cosh!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:cosh!)
+    end
   end
-end
 
-describe &quot;Math.cosh&quot; do
-  it_behaves_like :complex_math_cosh, :_, Math
-end
+  describe &quot;Math.cosh&quot; do
+    it_behaves_like :complex_math_cosh, :_, Math
+  end
 
-describe &quot;Math.cosh!&quot; do
-  it_behaves_like :complex_math_cosh_bang, :_, Math
+  describe &quot;Math.cosh!&quot; do
+    it_behaves_like :complex_math_cosh_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/cosh_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/exp'
 
-describe &quot;Math#exp&quot; do
-  it_behaves_like :complex_math_exp, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#exp&quot; do
+    it_behaves_like :complex_math_exp, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:exp)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:exp)
+    end
   end
-end
 
-describe &quot;Math#exp!&quot; do
-  it_behaves_like :complex_math_exp_bang, :_, IncludesMath.new
+  describe &quot;Math#exp!&quot; do
+    it_behaves_like :complex_math_exp_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:exp!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:exp!)
+    end
   end
-end
 
-describe &quot;Math.exp&quot; do
-  it_behaves_like :complex_math_exp, :_, Math
-end
+  describe &quot;Math.exp&quot; do
+    it_behaves_like :complex_math_exp, :_, Math
+  end
 
-describe &quot;Math.exp!&quot; do
-  it_behaves_like :complex_math_exp_bang, :_, Math
+  describe &quot;Math.exp!&quot; do
+    it_behaves_like :complex_math_exp_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/exp_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/log10'
 
-describe &quot;Math#log10&quot; do
-  it_behaves_like :complex_math_log10, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#log10&quot; do
+    it_behaves_like :complex_math_log10, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:log10)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:log10)
+    end
   end
-end
 
-describe &quot;Math#log10!&quot; do
-  it_behaves_like :complex_math_log10_bang, :_, IncludesMath.new
+  describe &quot;Math#log10!&quot; do
+    it_behaves_like :complex_math_log10_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:log10!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:log10!)
+    end
   end
-end
 
-describe &quot;Math.log10&quot; do
-  it_behaves_like :complex_math_log10, :_, Math
-end
+  describe &quot;Math.log10&quot; do
+    it_behaves_like :complex_math_log10, :_, Math
+  end
 
-describe &quot;Math.log10!&quot; do
-  it_behaves_like :complex_math_log10_bang, :_, Math
+  describe &quot;Math.log10!&quot; do
+    it_behaves_like :complex_math_log10_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/log10_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/log'
 
-describe &quot;Math#log&quot; do
-  it_behaves_like :complex_math_log, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#log&quot; do
+    it_behaves_like :complex_math_log, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:log)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:log)
+    end
   end
-end
 
-describe &quot;Math#log!&quot; do
-  it_behaves_like :complex_math_log_bang, :_, IncludesMath.new
+  describe &quot;Math#log!&quot; do
+    it_behaves_like :complex_math_log_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:log!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:log!)
+    end
   end
-end
 
-describe &quot;Math.log&quot; do
-  it_behaves_like :complex_math_log, :_, Math
-end
+  describe &quot;Math.log&quot; do
+    it_behaves_like :complex_math_log, :_, Math
+  end
 
-describe &quot;Math.log!&quot; do
-  it_behaves_like :complex_math_log_bang, :_, Math
+  describe &quot;Math.log!&quot; do
+    it_behaves_like :complex_math_log_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/log_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_acos, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/acos.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_acosh, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/acosh.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_asin, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/asin.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_asinh, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/asinh.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_atan, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/atan.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_atan2, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/atan2.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_atanh, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/atanh.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_cos, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/cos.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_cosh, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/cosh.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_exp, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/exp.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_log, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/log.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_log10, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/log10.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_sin, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/sin.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_sinh, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/sinh.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_sqrt, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/sqrt.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_tan, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/tan.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,3 @@
-require 'complex'
 require File.dirname(__FILE__) + '/../fixtures/classes'
 
 describe :complex_math_tanh, :shared =&gt; true do</diff>
      <filename>spec/frozen/library/complex/math/shared/tanh.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/sin'
 
-describe &quot;Math#sin&quot; do
-  it_behaves_like :complex_math_sin, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#sin&quot; do
+    it_behaves_like :complex_math_sin, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:sin)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:sin)
+    end
   end
-end
 
-describe &quot;Math#sin!&quot; do
-  it_behaves_like :complex_math_sin_bang, :_, IncludesMath.new
+  describe &quot;Math#sin!&quot; do
+    it_behaves_like :complex_math_sin_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:sin!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:sin!)
+    end
   end
-end
 
-describe &quot;Math.sin&quot; do
-  it_behaves_like :complex_math_sin, :_, Math
-end
+  describe &quot;Math.sin&quot; do
+    it_behaves_like :complex_math_sin, :_, Math
+  end
 
-describe &quot;Math.sin!&quot; do
-  it_behaves_like :complex_math_sin_bang, :_, Math
+  describe &quot;Math.sin!&quot; do
+    it_behaves_like :complex_math_sin_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/sin_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/sinh'
 
-describe &quot;Math#sinh&quot; do
-  it_behaves_like :complex_math_sinh, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#sinh&quot; do
+    it_behaves_like :complex_math_sinh, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:sinh)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:sinh)
+    end
   end
-end
 
-describe &quot;Math#sinh!&quot; do
-  it_behaves_like :complex_math_sinh_bang, :_, IncludesMath.new
+  describe &quot;Math#sinh!&quot; do
+    it_behaves_like :complex_math_sinh_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:sinh!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:sinh!)
+    end
   end
-end
 
-describe &quot;Math.sinh&quot; do
-  it_behaves_like :complex_math_sinh, :_, Math
-end
+  describe &quot;Math.sinh&quot; do
+    it_behaves_like :complex_math_sinh, :_, Math
+  end
 
-describe &quot;Math.sinh!&quot; do
-  it_behaves_like :complex_math_sinh_bang, :_, Math
+  describe &quot;Math.sinh!&quot; do
+    it_behaves_like :complex_math_sinh_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/sinh_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/sqrt'
 
-describe &quot;Math#sqrt&quot; do
-  it_behaves_like :complex_math_sqrt, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#sqrt&quot; do
+    it_behaves_like :complex_math_sqrt, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:sqrt)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:sqrt)
+    end
   end
-end
 
-describe &quot;Math#sqrt!&quot; do
-  it_behaves_like :complex_math_sqrt_bang, :_, IncludesMath.new
+  describe &quot;Math#sqrt!&quot; do
+    it_behaves_like :complex_math_sqrt_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:sqrt!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:sqrt!)
+    end
   end
-end
 
-describe &quot;Math.sqrt&quot; do
-  it_behaves_like :complex_math_sqrt, :_, Math
-end
+  describe &quot;Math.sqrt&quot; do
+    it_behaves_like :complex_math_sqrt, :_, Math
+  end
 
-describe &quot;Math.sqrt!&quot; do
-  it_behaves_like :complex_math_sqrt_bang, :_, Math
+  describe &quot;Math.sqrt!&quot; do
+    it_behaves_like :complex_math_sqrt_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/sqrt_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/tan'
 
-describe &quot;Math#tan&quot; do
-  it_behaves_like :complex_math_tan, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#tan&quot; do
+    it_behaves_like :complex_math_tan, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:tan)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:tan)
+    end
   end
-end
 
-describe &quot;Math#tan!&quot; do
-  it_behaves_like :complex_math_tan_bang, :_, IncludesMath.new
+  describe &quot;Math#tan!&quot; do
+    it_behaves_like :complex_math_tan_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:tan!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:tan!)
+    end
   end
-end
 
-describe &quot;Math.tan&quot; do
-  it_behaves_like :complex_math_tan, :_, Math
-end
+  describe &quot;Math.tan&quot; do
+    it_behaves_like :complex_math_tan, :_, Math
+  end
 
-describe &quot;Math.tan!&quot; do
-  it_behaves_like :complex_math_tan_bang, :_, Math
+  describe &quot;Math.tan!&quot; do
+    it_behaves_like :complex_math_tan_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/tan_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,28 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/tanh'
 
-describe &quot;Math#tanh&quot; do
-  it_behaves_like :complex_math_tanh, :_, IncludesMath.new
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  describe &quot;Math#tanh&quot; do
+    it_behaves_like :complex_math_tanh, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:tanh)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:tanh)
+    end
   end
-end
 
-describe &quot;Math#tanh!&quot; do
-  it_behaves_like :complex_math_tanh_bang, :_, IncludesMath.new
+  describe &quot;Math#tanh!&quot; do
+    it_behaves_like :complex_math_tanh_bang, :_, IncludesMath.new
 
-  it &quot;should be private&quot; do
-    IncludesMath.should have_private_instance_method(:tanh!)
+    it &quot;should be private&quot; do
+      IncludesMath.should have_private_instance_method(:tanh!)
+    end
   end
-end
 
-describe &quot;Math.tanh&quot; do
-  it_behaves_like :complex_math_tanh, :_, Math
-end
+  describe &quot;Math.tanh&quot; do
+    it_behaves_like :complex_math_tanh, :_, Math
+  end
 
-describe &quot;Math.tanh!&quot; do
-  it_behaves_like :complex_math_tanh_bang, :_, Math
+  describe &quot;Math.tanh!&quot; do
+    it_behaves_like :complex_math_tanh_bang, :_, Math
+  end
 end</diff>
      <filename>spec/frozen/library/complex/math/tanh_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,30 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
 
-describe &quot;Complex#- with Complex&quot; do
-  it &quot;subtracts both the real and imaginary components&quot; do
-    (Complex(1, 2) - Complex(10, 20)).should == Complex(1 - 10, 2 - 20)
-    (Complex(1.5, 2.1) - Complex(100.2, -30.3)).should == Complex(1.5 - 100.2, 2.1 - (-30.3))
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Complex#- with Complex&quot; do
+    it &quot;subtracts both the real and imaginary components&quot; do
+      (Complex(1, 2) - Complex(10, 20)).should == Complex(1 - 10, 2 - 20)
+      (Complex(1.5, 2.1) - Complex(100.2, -30.3)).should == Complex(1.5 - 100.2, 2.1 - (-30.3))
+    end
   end
-end
 
-describe &quot;Complex#- with Integer&quot; do
-  it &quot;subtracts the real number from the real component of self&quot; do
-    (Complex(1, 2) - 50).should == Complex(-49, 2)
-    (Complex(1, 2) - 50.5).should == Complex(-49.5, 2)
+  describe &quot;Complex#- with Integer&quot; do
+    it &quot;subtracts the real number from the real component of self&quot; do
+      (Complex(1, 2) - 50).should == Complex(-49, 2)
+      (Complex(1, 2) - 50.5).should == Complex(-49.5, 2)
+    end
   end
-end
 
-describe &quot;Complex#- with Object&quot; do
-  it &quot;tries to coerce self into other&quot; do
-    value = Complex(3, 9)
-    
-    obj = mock(&quot;Object&quot;)
-    obj.should_receive(:coerce).with(value).and_return([2, 5])
-    (value - obj).should == 2 - 5
+  describe &quot;Complex#- with Object&quot; do
+    it &quot;tries to coerce self into other&quot; do
+      value = Complex(3, 9)
+      
+      obj = mock(&quot;Object&quot;)
+      obj.should_receive(:coerce).with(value).and_return([2, 5])
+      (value - obj).should == 2 - 5
+    end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/frozen/library/complex/minus_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,18 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
+require File.dirname(__FILE__) + '/../../shared/complex/modulo'
 
-describe &quot;Complex#% with Complex&quot; do
-  it &quot;returns the remainder from complex division&quot; do
-    (Complex(13, 44) % Complex(5, 20)).should == Complex(13 % 5, 44 % 20)
-    (Complex(13.5, 44.5) % Complex(5.5, 20.5)).should == Complex(13.5 % 5.5, 44.5 % 20.5)
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Complex#% with Complex&quot; do
+    it_behaves_like(:complex_modulo_complex, :%)
   end
-end
 
-describe &quot;Complex#% with Integer&quot; do
-  it &quot;returns the remainder from dividing both parts of self by the given Integer&quot; do
-    (Complex(21, 42) % 10).should == Complex(21 % 10, 42 % 10)
-    (Complex(15.5, 16.5) % 2.0).should be_close(Complex(15.5 % 2, 16.5 % 2), TOLERANCE)
+  describe &quot;Complex#% with Integer&quot; do
+    it_behaves_like(:complex_modulo_integer, :%)
   end
-end
 
-describe &quot;Complex#% with Object&quot; do
-  it &quot;tries to coerce self into other&quot; do
-    value = Complex(3, 9)
-    
-    obj = mock(&quot;Object&quot;)
-    obj.should_receive(:coerce).with(value).and_return([2, 5])
-    (value % obj).should == 2 % 5
+  describe &quot;Complex#% with Object&quot; do
+    it_behaves_like(:complex_modulo_object, :%)
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/frozen/library/complex/modulo_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,18 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
+require File.dirname(__FILE__) + '/../../shared/complex/multiply'
 
-describe &quot;Complex#* with Complex&quot; do
-  it &quot;multiplies according to the usual rule for complex numbers: (a + bi) * (c + di) = ac - bd + (ad + bc)i&quot; do
-    (Complex(1, 2) * Complex(10, 20)).should == Complex((1 * 10) - (2 * 20), (1 * 20) + (2 * 10))
-    (Complex(1.5, 2.1) * Complex(100.2, -30.3)).should == Complex((1.5 * 100.2) - (2.1 * -30.3), (1.5 * -30.3) + (2.1 * 100.2))
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Complex#* with Complex&quot; do
+    it_behaves_like(:complex_multiply_complex, :*)
   end
-end
 
-describe &quot;Complex#* with Integer&quot; do
-  it &quot;multiplies both parts of self by the given Integer&quot; do
-    (Complex(3, 2) * 50).should == Complex(150, 100)
-    (Complex(-3, 2) * 50.5).should == Complex(-151.5, 101)
+  describe &quot;Complex#* with Integer&quot; do
+    it_behaves_like(:complex_multiply_integer, :*)
   end
-end
 
-describe &quot;Complex#* with Object&quot; do
-  it &quot;tries to coerce self into other&quot; do
-    value = Complex(3, 9)
-    
-    obj = mock(&quot;Object&quot;)
-    obj.should_receive(:coerce).with(value).and_return([2, 5])
-    (value * obj).should == 2 * 5
+  describe &quot;Complex#* with Object&quot; do
+    it_behaves_like(:complex_multiply_object, :*)
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/frozen/library/complex/multiply_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,39 +1,43 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
 
-describe &quot;Complex.new&quot; do
-  it &quot;returns a new Complex number&quot; do
-    Complex.new(1, 2).class.should == Complex
-  end
-  
-  it &quot;raises a TypeError when one of the given arguments is not Numeric&quot; do
-    lambda { Complex.new(1, &quot;foo&quot;) }.should raise_error(TypeError)
-    lambda { Complex.new(&quot;bar&quot;, 2) }.should raise_error(TypeError)
-  end
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
 
-  it &quot;raises a TypeError when one of the given arguments is a Complex&quot; do
-    lambda { Complex.new(Complex(1), &quot;foo&quot;) }.should raise_error(TypeError)
-    lambda { Complex.new(&quot;bar&quot;, Complex(3, 5)) }.should raise_error(TypeError)
-  end
-end
+  require 'complex'
 
-describe &quot;Complex.new!&quot; do
-  it &quot;returns a new Complex number&quot; do
-    Complex.new(1, 2).class.should == Complex
-  end
-  
-  it &quot;defaults to 0 for the imaginery part&quot; do
-    a = Complex.new!(3)
-    a.image.should == 0
-  end
-  
-  it &quot;raises a TypeError when one of the given arguments is not Numeric&quot; do
-    lambda { Complex.new(1, &quot;foo&quot;) }.should raise_error(TypeError)
-    lambda { Complex.new(&quot;bar&quot;, 2) }.should raise_error(TypeError)
+  describe &quot;Complex.new&quot; do
+    it &quot;returns a new Complex number&quot; do
+      Complex.new(1, 2).class.should == Complex
+    end
+    
+    it &quot;raises a TypeError when one of the given arguments is not Numeric&quot; do
+      lambda { Complex.new(1, &quot;foo&quot;) }.should raise_error(TypeError)
+      lambda { Complex.new(&quot;bar&quot;, 2) }.should raise_error(TypeError)
+    end
+
+    it &quot;raises a TypeError when one of the given arguments is a Complex&quot; do
+      lambda { Complex.new(Complex(1), &quot;foo&quot;) }.should raise_error(TypeError)
+      lambda { Complex.new(&quot;bar&quot;, Complex(3, 5)) }.should raise_error(TypeError)
+    end
   end
 
-  it &quot;raises a TypeError when one of the given arguments is a Complex&quot; do
-    lambda { Complex.new(Complex(1), &quot;foo&quot;) }.should raise_error(TypeError)
-    lambda { Complex.new(&quot;bar&quot;, Complex(3, 5)) }.should raise_error(TypeError)
+  describe &quot;Complex.new!&quot; do
+    it &quot;returns a new Complex number&quot; do
+      Complex.new(1, 2).class.should == Complex
+    end
+    
+    it &quot;defaults to 0 for the imaginery part&quot; do
+      a = Complex.new!(3)
+      a.image.should == 0
+    end
+    
+    it &quot;raises a TypeError when one of the given arguments is not Numeric&quot; do
+      lambda { Complex.new(1, &quot;foo&quot;) }.should raise_error(TypeError)
+      lambda { Complex.new(&quot;bar&quot;, 2) }.should raise_error(TypeError)
+    end
+
+    it &quot;raises a TypeError when one of the given arguments is a Complex&quot; do
+      lambda { Complex.new(Complex(1), &quot;foo&quot;) }.should raise_error(TypeError)
+      lambda { Complex.new(&quot;bar&quot;, Complex(3, 5)) }.should raise_error(TypeError)
+    end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/frozen/library/complex/new_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,22 +1,12 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
-# Depends on Rational to be loaded.
-require &quot;rational&quot;
+require File.dirname(__FILE__) + '/../../shared/complex/numerator'
 
-describe &quot;Complex#numerator&quot; do
-  it &quot;returns self's numerator&quot; do
-    Complex(2).numerator.should    == Complex(2)
-    Complex(3, 4).numerator.should == Complex(3, 4)
-    
-    Complex(Rational(3, 4), Rational(3, 4)).numerator.should == Complex(3, 3)
-    Complex(Rational(7, 4), Rational(8, 4)).numerator.should == Complex(7, 8)
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require 'complex'
+  # Depends on Rational to be loaded.
+  require &quot;rational&quot;
 
-    Complex(Rational(7, 8), Rational(8, 4)).numerator.should == Complex(7, 16)
-    Complex(Rational(7, 4), Rational(8, 8)).numerator.should == Complex(7, 4)
-    
-    # NOTE:
-    # Bug? - Fails with a MethodMissingError
-    # (undefined method `denominator' for 3.5:Float)
-    # Complex(3.5, 3.7).numerator
+  describe &quot;Complex#numerator&quot; do
+    it_behaves_like(:complex_numerator, :numerator)
   end
 end</diff>
      <filename>spec/frozen/library/complex/numerator_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,11 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/arg'
-require 'complex'
 
-describe &quot;Numeric#angle&quot; do
-  it_behaves_like :numeric_arg, :angle
-end
\ No newline at end of file
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Numeric#angle&quot; do
+    it_behaves_like :numeric_arg, :angle
+  end
+end</diff>
      <filename>spec/frozen/library/complex/numeric/angle_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,11 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/arg'
-require 'complex'
 
-describe &quot;Numeric#arg&quot; do
-  it_behaves_like :numeric_arg, :arg
-end
\ No newline at end of file
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Numeric#arg&quot; do
+    it_behaves_like :numeric_arg, :arg
+  end
+end</diff>
      <filename>spec/frozen/library/complex/numeric/arg_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,11 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/conjugate'
-require 'complex'
 
-describe &quot;Numeric#conj&quot; do
-  it_behaves_like :numeric_conjugate, :conj
-end
\ No newline at end of file
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require 'complex'
+
+  describe &quot;Numeric#conj&quot; do
+    it_behaves_like :numeric_conjugate, :conj
+  end
+end</diff>
      <filename>spec/frozen/library/complex/numeric/conj_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,11 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/conjugate'
-require 'complex'
 
-describe &quot;Numeric#conjugate&quot; do
-  it_behaves_like :numeric_conjugate, :conjugate
-end
\ No newline at end of file
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Numeric#conjugate&quot; do
+    it_behaves_like :numeric_conjugate, :conjugate
+  end
+end</diff>
      <filename>spec/frozen/library/complex/numeric/conjugate_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,14 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
-require 'complex'
 
-describe &quot;Numeric#im&quot; do
-  it &quot;returns a new Complex number with self as the imaginary component&quot; do
-    20.im.should == Complex(0, 20)
-    (-4.5).im.should == Complex(0, -4.5)
-    bignum_value.im.should == Complex(0, bignum_value)
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Numeric#im&quot; do
+    it &quot;returns a new Complex number with self as the imaginary component&quot; do
+      20.im.should == Complex(0, 20)
+      (-4.5).im.should == Complex(0, -4.5)
+      bignum_value.im.should == Complex(0, bignum_value)
+    end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/frozen/library/complex/numeric/im_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,11 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/image'
-require 'complex'
 
-describe &quot;Numeric#imag&quot; do
-  it_behaves_like :numeric_image, :imag
-end
\ No newline at end of file
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Numeric#imag&quot; do
+    it_behaves_like :numeric_image, :imag
+  end
+end</diff>
      <filename>spec/frozen/library/complex/numeric/imag_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,11 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
 require File.dirname(__FILE__) + '/shared/image'
-require 'complex'
 
-describe &quot;Numeric#image&quot; do
-  it_behaves_like :numeric_image, :image
-end
\ No newline at end of file
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Numeric#image&quot; do
+    it_behaves_like :numeric_image, :image
+  end
+end</diff>
      <filename>spec/frozen/library/complex/numeric/image_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,19 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
-require 'complex'
-
-describe &quot;Numeric#polar&quot; do
-  it &quot;returns self's absolute value and self's argument&quot; do
-    5.polar.should == [5, 0]
-    (-5).polar.should == [5, Math::PI]
-    
-    4.5.polar.should == [4.5, 0]
-    (-4.5).polar.should == [4.5, Math::PI]
-
-    bignum_value.polar.should == [bignum_value, 0]
-    (-bignum_value).polar.should == [bignum_value, Math::PI]
+
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Numeric#polar&quot; do
+    it &quot;returns self's absolute value and self's argument&quot; do
+      5.polar.should == [5, 0]
+      (-5).polar.should == [5, Math::PI]
+      
+      4.5.polar.should == [4.5, 0]
+      (-4.5).polar.should == [4.5, Math::PI]
+
+      bignum_value.polar.should == [bignum_value, 0]
+      (-bignum_value).polar.should == [bignum_value, Math::PI]
+    end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/frozen/library/complex/numeric/polar_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,14 @@
 require File.dirname(__FILE__) + '/../../../spec_helper'
-require 'complex'
 
-describe &quot;Numeric#real&quot; do
-  it &quot;returns self&quot; do
-    20.real.should == 20
-    (-4.5).real.should == -4.5
-    bignum_value.real.should == bignum_value
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Numeric#real&quot; do
+    it &quot;returns self&quot; do
+      20.real.should == 20
+      (-4.5).real.should == -4.5
+      bignum_value.real.should == bignum_value
+    end
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/frozen/library/complex/numeric/real_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,3 @@
-require 'complex'
-
 describe :numeric_arg, :shared =&gt; true do
   it &quot;returns 0 if self is greater than or equal to 0&quot; do
     0.send(@method).should == 0</diff>
      <filename>spec/frozen/library/complex/numeric/shared/arg.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,3 @@
-require 'complex'
-
 describe :numeric_conjugate, :shared =&gt; true do
   it &quot;returns self&quot; do
     20.send(@method).should == 20</diff>
      <filename>spec/frozen/library/complex/numeric/shared/conjugate.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,3 @@
-require 'complex'
-
 describe :numeric_image, :shared =&gt; true do
   it &quot;returns 0&quot; do
     20.send(@method).should == 0</diff>
      <filename>spec/frozen/library/complex/numeric/shared/image.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,18 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
+require File.dirname(__FILE__) + '/../../shared/complex/plus'
 
-describe &quot;Complex#+ with Complex&quot; do
-  it &quot;adds both the real and imaginary components&quot; do
-    (Complex(1, 2) + Complex(10, 20)).should == Complex(1 + 10, 2 + 20)
-    (Complex(1.5, 2.1) + Complex(100.2, -30.3)).should == Complex(1.5 + 100.2, 2.1 + (-30.3))
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+
+  require 'complex'
+
+  describe &quot;Complex#+ with Complex&quot; do
+    it_behaves_like(:complex_plus_complex, :+)
   end
-end
 
-describe &quot;Complex#+ with Integer&quot; do
-  it &quot;adds the real number to the real component of self&quot; do
-    (Complex(1, 2) + 50).should == Complex(51, 2)
-    (Complex(1, 2) + 50.5).should == Complex(51.5, 2)
+  describe &quot;Complex#+ with Integer&quot; do
+    it_behaves_like(:complex_plus_integer, :+)
   end
-end
 
-describe &quot;Complex#+ with Object&quot; do
-  it &quot;tries to coerce self into other&quot; do
-    value = Complex(3, 9)
-    
-    obj = mock(&quot;Object&quot;)
-    obj.should_receive(:coerce).with(value).and_return([2, 5])
-    (value + obj).should == 2 + 5
+  describe &quot;Complex#+ with Object&quot; do
+    it_behaves_like(:complex_plus_object, :+)
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/frozen/library/complex/plus_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,23 +1,14 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
+require File.dirname(__FILE__) + '/../../shared/complex/polar'
 
-describe &quot;Complex.polar&quot; do
-  it &quot;returns a complex number in terms of radius and angle&quot; do
-    Complex.polar(50, 60).should be_close(Complex(-47.6206490207578, -15.2405310551108), TOLERANCE)
-    Complex.polar(-10, -20).should be_close(Complex(-4.08082061813392, 9.12945250727628), TOLERANCE)
-  end
-end
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
 
-describe &quot;Complex#polar&quot; do
-  it &quot;returns the absolute value and the argument&quot; do
-    a = Complex(3, 4)
-    a.polar.size.should == 2
-    a.polar.first.should == 5.0
-    a.polar.last.should be_close(0.927295218001612, TOLERANCE)
+  require 'complex'
+
+  describe &quot;Complex.polar&quot; do
+    it_behaves_like(:complex_polar, :polar)
+  end
 
-    b = Complex(-3.5, 4.7)
-    b.polar.size.should == 2
-    b.polar.first.should be_close(5.86003412959345, TOLERANCE)
-    b.polar.last.should be_close(2.21088447955664, TOLERANCE)
+  describe &quot;Complex#polar&quot; do
+    it_behaves_like(:complex_polar, :polar)
   end
 end</diff>
      <filename>spec/frozen/library/complex/polar_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,10 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
+require File.dirname(__FILE__) + '/../../shared/complex/real'
 
-describe &quot;Complex#real&quot; do
-  it &quot;returns the real part of self&quot; do
-    Complex(1, 0).real.should == 1
-    Complex(2, 1).real.should == 2
-    Complex(6.7, 8.9).real.should == 6.7
-    Complex(bignum_value, 3).real.should == bignum_value
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
+  
+  require 'complex'
+
+  describe &quot;Complex#real&quot; do
+    it_behaves_like(:complex_real, :real)
   end
 end</diff>
      <filename>spec/frozen/library/complex/real_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,3 @@
-require 'complex'
-
 describe :complex_image, :shared =&gt; true do
   it &quot;returns the imaginary part of self&quot; do
     Complex(1, 0).send(@method).should == 0</diff>
      <filename>spec/frozen/library/complex/shared/image.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,29 +1,14 @@
-require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
+require File.dirname(__FILE__) + '/../../shared/complex/to_s'
 
-describe &quot;Complex#to_s when self's real component is 0&quot; do
-  it &quot;returns only the imaginary component as String&quot; do
-    Complex(0, 5).to_s.should == &quot;5i&quot;
-    Complex(0, -3.2).to_s.should == &quot;-3.2i&quot;
-  end
-end
+ruby_version_is &quot;&quot;...&quot;1.9&quot; do
 
-describe &quot;Complex#to_s&quot; do
-  it &quot;returns self as String&quot; do
-    Complex(1, 5).to_s.should == &quot;1+5i&quot;
-    Complex(-2.5, 1.5).to_s.should == &quot;-2.5+1.5i&quot;
-    
-    Complex(1, -5).to_s.should == &quot;1-5i&quot;
-    Complex(-2.5, -1.5).to_s.should == &quot;-2.5-1.5i&quot;
+  require 'complex'
 
-    # Guard against the Mathn library
-    conflicts_with :Prime do
-      Complex(1, 0).to_s.should == &quot;1+0i&quot;
-      Complex(1, -0).to_s.should == &quot;1+0i&quot;
+  describe &quot;Complex#to_s when self's real component is 0&quot; do
+    it_behaves_like(:complex_to_s_0, :to_s)
+  end
 
-      # This is a bit weird, but it's what MRI does
-      Complex(1, 0.0).to_s.should == &quot;1+0.0i&quot;
-      Complex(1, -0.0).to_s.should == &quot;1+0.0i&quot;
-    end
+  describe &quot;Complex#to_s&quot; do
+    it_behaves_like(:complex_to_s, :to_s)
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/frozen/library/complex/to_s_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,4 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
 
 describe :complex_abs, :shared =&gt; true do
   it &quot;returns the modulus: |a + bi| = sqrt((a ^ 2) + (b ^ 2))&quot; do</diff>
      <filename>spec/frozen/shared/complex/abs.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,4 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
 
 describe :complex_abs2, :shared =&gt; true do
   it &quot;returns the sum of the squares of the real and imaginary parts&quot; do</diff>
      <filename>spec/frozen/shared/complex/abs2.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,3 @@
-require 'complex'
-
 describe :complex_arg, :shared =&gt; true do
   it &quot;returns the argument -- i.e., the angle from (1, 0) in the complex plane&quot; do
     TwoPi = 2 * Math::PI</diff>
      <filename>spec/frozen/shared/complex/arg.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,4 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
-require &quot;rational&quot;
 
 describe :complex_coerce, :shared =&gt; true do
   before(:each) do</diff>
      <filename>spec/frozen/shared/complex/coerce.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,3 @@
-require 'complex'
-
 describe :complex_conjugate, :shared =&gt; true do
   it &quot;returns the complex conjugate: conj a + bi = a - bi&quot; do
     Complex(3, 5).send(@method).should == Complex(3, -5)</diff>
      <filename>spec/frozen/shared/complex/conjugate.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,4 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
 
 describe :complex_divide_complex, :shared =&gt; true do
   it &quot;divides according to the usual rule for complex numbers&quot; do
@@ -46,9 +45,9 @@ describe :complex_divide_float, :shared =&gt; true do
   end
 
   ruby_version_is &quot;1.9&quot; do
-    it &quot;returns (Infinity+Infinity*i) when given zero&quot; do
-      (Complex(20, 40) / 0.0).inspect.should == &quot;(Infinity+Infinity*i)&quot;
-      (Complex(-20, -40) / 0.0).inspect.should == &quot;(-Infinity-Infinity*i)&quot;
+    it &quot;raises a ZeroDivisionError when given 0.0&quot; do
+      lambda { Complex(20, 40) / 0.0 }.should raise_error(ZeroDivisionError)
+      lambda { Complex(-20, -40) / 0.0 }.should raise_error(ZeroDivisionError)
     end
   end
 end</diff>
      <filename>spec/frozen/shared/complex/divide.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,4 @@
 require File.dirname(__FILE__) + '/../../spec_helper'
-require 'complex'
 
 describe :complex_equal_value_complex, :shared =&gt; true do
   it &quot;returns true when self and other have numerical equality&quot; do</diff>
      <filename>spec/frozen/shared/complex/equal_value.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
 fails:Float#&lt;=&gt; returns 1 when self is Infinity and other is a Bignum
-fails:Float#&lt;=&gt; returns 1 when self is negative and other is Infinty
+fails:Float#&lt;=&gt; returns -1 when self is negative and other is Infinty
 fails:Float#&lt;=&gt; returns 1 when self is Infinity and other is a Bignum
-fails:Float#&lt;=&gt; returns 1 when self is negative and other is Infinty
+fails:Float#&lt;=&gt; returns -1 when self is negative and other is Infinty</diff>
      <filename>spec/frozen/tags/macruby/core/float/comparison_tags.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-6f75d0c5ce0edb5437e84f59eda4a9dce4a39a2d
\ No newline at end of file
+8a452e68e5b045a20ce1964fa997f9d691316b1c
\ No newline at end of file</diff>
      <filename>spec/frozen/upstream</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a06a33ff8a817190eca32c5219c76ddf64e28dee</id>
    </parent>
  </parents>
  <author>
    <name>eloy.de.enige@gmail.com</name>
    <email>eloy.de.enige@gmail.com</email>
  </author>
  <url>http://github.com/alloy/mr-experimental/commit/3191b8b56930485470edb52746572c619b9eae22</url>
  <id>3191b8b56930485470edb52746572c619b9eae22</id>
  <committed-date>2009-07-01T16:54:11-07:00</committed-date>
  <authored-date>2009-07-01T16:53:26-07:00</authored-date>
  <message>Updated RubySpec to 8a452e68e5b045a20ce1964fa997f9d691316b1c


git-svn-id: http://svn.macosforge.org/repository/ruby/MacRuby/branches/experimental@1968 23306eb0-4c56-4727-a40e-e92c0eb68959</message>
  <tree>3d7db8c2bcb46f978d9ff1a162fd0bb3fdcad57f</tree>
  <committer>
    <name>Eloy Duran</name>
    <email>eloy.de.enige@gmail.com</email>
  </committer>
</commit>
