Sha256: 53eed542c60d3c1446aa6bd93def65e0ace9e9e331cf77a8e85ead835557432e

Contents?: true

Size: 1.59 KB

Versions: 83

Compression:

Stored size: 1.59 KB

Contents

require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/../../spec_helper'
require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/fixtures/classes'

describe "Module#<=>" do
  it "returns -1 if self is a subclass of or includes the given module" do
    (ModuleSpecs::Child <=> ModuleSpecs::Parent).should == -1
    (ModuleSpecs::Child <=> ModuleSpecs::Basic).should == -1
    (ModuleSpecs::Child <=> ModuleSpecs::Super).should == -1
    (ModuleSpecs::Super <=> ModuleSpecs::Basic).should == -1
  end
  
  it "returns 0 if self is the same as the given module" do
    (ModuleSpecs::Child  <=> ModuleSpecs::Child).should == 0
    (ModuleSpecs::Parent <=> ModuleSpecs::Parent).should == 0
    (ModuleSpecs::Basic  <=> ModuleSpecs::Basic).should == 0
    (ModuleSpecs::Super  <=> ModuleSpecs::Super).should == 0
  end
  
  it "returns +1 if self is a superclas of or included by the given module" do
    (ModuleSpecs::Parent <=> ModuleSpecs::Child).should == +1
    (ModuleSpecs::Basic  <=> ModuleSpecs::Child).should == +1
    (ModuleSpecs::Super  <=> ModuleSpecs::Child).should == +1
    (ModuleSpecs::Basic  <=> ModuleSpecs::Super).should == +1
  end
  
  it "returns nil if self and the given module are not related" do
    (ModuleSpecs::Parent <=> ModuleSpecs::Basic).should == nil
    (ModuleSpecs::Parent <=> ModuleSpecs::Super).should == nil
    (ModuleSpecs::Basic  <=> ModuleSpecs::Parent).should == nil
    (ModuleSpecs::Super  <=> ModuleSpecs::Parent).should == nil
  end
  
  it "returns nil if the argument is not a class/module" do
    (ModuleSpecs::Parent <=> mock('x')).should == nil
  end
end

Version data entries

83 entries across 83 versions & 1 rubygems

Version Path
rhodes-3.1.1 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.1.1.beta spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.1.0 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.1.0.beta.5 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.1.0.beta.4 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.1.0.beta.3 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.1.0.beta.2 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.1.0.beta.1 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.2 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.2.beta.1 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.1 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.1.beta.8 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.1.beta.7 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.1.beta.6 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.1.beta.5 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.1.beta.4 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.1.beta.3 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.1.beta.2 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.0 spec/framework_spec/app/spec/core/module/comparison_spec.rb
rhodes-3.0.0.beta.7 spec/framework_spec/app/spec/core/module/comparison_spec.rb