spec/lib/hamster/set/flatten_spec.rb in hamster-1.0.1.pre.rc3 vs spec/lib/hamster/set/flatten_spec.rb in hamster-2.0.0

- old
+ new

@@ -4,44 +4,44 @@ describe Hamster do describe "#flatten" do [ [["A"], ["A"]], [%w[A B C], %w[A B C]], - [["A", Hamster.set("B"), "C"], %w[A B C]], - [[Hamster.set("A"), Hamster.set("B"), Hamster.set("C")], %w[A B C]], + [["A", S["B"], "C"], %w[A B C]], + [[S["A"], S["B"], S["C"]], %w[A B C]], ].each do |values, expected| describe "on #{values}" do - let(:set) { Hamster.set(*values) } + let(:set) { S[*values] } it "preserves the original" do set.flatten - set.should eql(Hamster.set(*values)) + set.should eql(S[*values]) end it "returns the inlined values" do - set.flatten.should eql(Hamster.set(*expected)) + set.flatten.should eql(S[*expected]) end end end context "on an empty set" do it "returns an empty set" do - Hamster.set.flatten.should equal(Hamster.set) + S.empty.flatten.should equal(S.empty) end end context "on a set with multiple levels of nesting" do it "inlines lower levels of nesting" do - set = Hamster.set(Hamster.set(Hamster.set(1)), Hamster.set(Hamster.set(2))) - set.flatten.should eql(Hamster.set(1, 2)) + set = S[S[S[1]], S[S[2]]] + set.flatten.should eql(S[1, 2]) end end context "from a subclass" do it "returns an instance of the subclass" do subclass = Class.new(Hamster::Set) subclass.new.flatten.class.should be(subclass) - subclass.new([Hamster.set(1), Hamster.set(2)]).flatten.class.should be(subclass) + subclass.new([S[1], S[2]]).flatten.class.should be(subclass) end end end end \ No newline at end of file