Sha256: 36d991a2443cd2ccd8f81f8a115790b02b1840278dcff9403f349a21be959e4f
Contents?: true
Size: 1.69 KB
Versions: 2
Compression:
Stored size: 1.69 KB
Contents
require 'spec_helper' require 'combinatorics/cartesian_product' describe CartesianProduct do subject { CartesianProduct } describe "cardinality" do it "should return 1 for cardinality(1, 1)" do subject.cardinality(1, 1).should == 1 end it "should return 2 for cardinality(1, 2)" do subject.cardinality(1, 2).should == 2 end it "should return 2 for cardinality(2, 1)" do subject.cardinality(2, 1).should == 2 end it "should return 4 for cardinality(2, 2)" do subject.cardinality(2, 2).should == 4 end it "should return 3 for cardinality(3, 1)" do subject.cardinality(3, 1).should == 3 end it "should return 3 for cardinality(1, 3)" do subject.cardinality(1, 3).should == 3 end it "should return 6 for cardinality(2, 3)" do subject.cardinality(2, 3).should == 6 end it "should return 6 for cardinality(3, 2)" do subject.cardinality(3, 2).should == 6 end it "should return 9 for cardinality(3, 3)" do subject.cardinality(3, 3).should == 9 end it "should raise RangeError if c1 is negative" do lambda { subject.cardinality(-1, 1) }.should raise_error(RangeError) end it "should raise RangeError if c2 is negative" do lambda { subject.cardinality(1, -1) }.should raise_error(RangeError) end it "should raise RangeError if c1 is zero" do lambda { subject.cardinality(0, 1) }.should raise_error(RangeError) end it "should raise RangeError if c2 is zero" do lambda { subject.cardinality(1, 0) }.should raise_error(RangeError) end end it "should wrap cardinality with CartesianProduct.X" do should respond_to(:X) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
combinatorics-0.4.3 | spec/cartesian_product/cardinality_spec.rb |
combinatorics-0.4.1 | spec/cartesian_product/cardinality_spec.rb |