spec/char_set_spec.rb in chars-0.2.2 vs spec/char_set_spec.rb in chars-0.2.3

- old
+ new

@@ -1,194 +1,214 @@ require 'spec_helper' require 'chars/chars' describe Chars::CharSet do - before(:all) do - @integer_range = (0x41..0x43) - @string_range = ('A'..'Z') - @integers = @integer_range.to_a - @strings = @string_range.to_a + let(:integer_range) { (0x41..0x43) } + let(:string_range) { ('A'..'Z') } + let(:integers) { integer_range.to_a } + let(:strings) { string_range.to_a } - @char_set = described_class.new(*@strings) - end + subject { described_class.new(*strings) } describe "#initialize" do it "may be created with String arguments" do - @chars = described_class.new(*@strings) + set = described_class.new(*strings) - @strings.all? { |s| @chars.include_char?(s) }.should == true + expect(strings.all? { |s| set.include_char?(s) }).to be(true) end it "may be created with an Array of Strings" do - @chars = described_class.new(@strings) + set = described_class.new(strings) - @strings.all? { |s| @chars.include_char?(s) }.should == true + expect(strings.all? { |s| set.include_char?(s) }).to be(true) end it "may be created with a Range of Strings" do - @chars = described_class.new(@string_range) + set = described_class.new(string_range) - @strings.all? { |s| @chars.include_char?(s) }.should == true + expect(strings.all? { |s| set.include_char?(s) }).to be(true) end it "may be created with Integer arguments" do - @chars = described_class.new(*@integers) + set = described_class.new(*integers) - @integers.all? { |i| @chars.include?(i) }.should == true + expect(integers.all? { |i| set.include?(i) }).to be(true) end it "may be created with an Array of Integers" do - @chars = described_class.new(@integers) + set = described_class.new(integers) - @integers.all? { |i| @chars.include?(i) }.should == true + expect(integers.all? { |i| set.include?(i) }).to be(true) end it "may be created with a Range of Integers" do - @chars = described_class.new(@integer_range) + set = described_class.new(integer_range) - @integers.all? { |i| @chars.include?(i) }.should == true + expect(integers.all? { |i| set.include?(i) }).to be(true) end end it "should include Strings" do - @char_set.include_char?('A').should == true + expect(subject.include_char?('A')).to be(true) end it "should include Integers" do - @char_set.should include(0x41) + expect(subject).to include(0x41) end it "should be able to select bytes" do - @sub_chars = @char_set.select_bytes { |c| c <= 0x42 } + sub_set = subject.select_bytes { |c| c <= 0x42 } - @sub_chars.should == [0x41, 0x42] + expect(sub_set).to be == [0x41, 0x42] end it "should be able to select chars" do - @sub_chars = @char_set.select_chars { |c| c <= 'B' } + sub_set = subject.select_chars { |c| c <= 'B' } - @sub_chars.should == ['A', 'B'] + expect(sub_set).to be == ['A', 'B'] end it "should return a random byte" do - @char_set.should include(@char_set.random_byte) + expect(subject).to include(subject.random_byte) end it "should return a random char" do - @char_set.include_char?(@char_set.random_char).should == true + expect(subject.include_char?(subject.random_char)).to be(true) end it "should iterate over n random bytes" do - @char_set.each_random_byte(10).all? { |b| - @char_set.include?(b) - }.should == true + expect(subject.each_random_byte(10).all? { |b| + subject.include?(b) + }).to be(true) end it "should iterate over n random chars" do - @char_set.each_random_char(10).all? { |c| - @char_set.include_char?(c) - }.should == true + expect(subject.each_random_char(10).all? { |c| + subject.include_char?(c) + }).to be(true) end - it "should return a random Array of bytes" do - bytes = @char_set.random_bytes(10) + describe "#random_bytes" do + it "should return a random Array of bytes" do + bytes = subject.random_bytes(10) - bytes.all? { |b| @char_set.include?(b) }.should == true - end + expect(bytes.all? { |b| subject.include?(b) }).to be(true) + end - it "should return a random Array of chars" do - chars = @char_set.random_chars(10) + context "with a range of lengths" do + it "should return a random Array of bytes with a varying length" do + bytes = subject.random_bytes(5..10) - chars.all? { |c| @char_set.include_char?(c) }.should == true + expect(bytes.length).to be_between(5, 10) + expect(bytes.all? { |b| subject.include?(b) }).to be(true) + end + end end - it "should return a random Array of bytes with a varying length" do - bytes = @char_set.random_bytes(5..10) + describe "#random_chars" do + it "should return a random Array of chars" do + chars = subject.random_chars(10) - bytes.length.should be_between(5, 10) - bytes.all? { |b| @char_set.include?(b) }.should == true - end + expect(chars.all? { |c| subject.include_char?(c) }).to be(true) + end - it "should return a random Array of chars with a varying length" do - chars = @char_set.random_chars(5..10) + context "with a range of lengths" do + it "should return a random Array of chars with a varying length" do + chars = subject.random_chars(5..10) - chars.length.should be_between(5, 10) - chars.all? { |c| @char_set.include_char?(c) }.should == true + expect(chars.length).to be_between(5, 10) + expect(chars.all? { |c| subject.include_char?(c) }).to be(true) + end + end end - it "should return a random String of chars" do - string = @char_set.random_string(10) - - string.chars.all? { |b| @char_set.include_char?(b) }.should == true - end + describe "#random_string" do + it "should return a random String of chars" do + string = subject.random_string(10) - it "should return a random String of chars with a varying length" do - string = @char_set.random_string(5..10) + expect(string.chars.all? { |b| subject.include_char?(b) }).to be(true) + end - string.length.should be_between(5, 10) - string.chars.all? { |b| @char_set.include_char?(b) }.should == true + context "with a range of lengths" do + it "should return a random String of chars with a varying length" do + string = subject.random_string(5..10) + + expect(string.length).to be_between(5, 10) + expect(string.chars.all? { |b| subject.include_char?(b) }).to be(true) + end + end end - it "should return a random Array of unique bytes" do - bytes = @char_set.random_distinct_bytes(10) + describe "#random_distinct_bytes" do + it "should return a random Array of unique bytes" do + bytes = subject.random_distinct_bytes(10) - bytes.uniq.should == bytes - bytes.all? { |b| @char_set.include?(b) }.should == true - end + expect(bytes.uniq).to be == bytes + expect(bytes.all? { |b| subject.include?(b) }).to be(true) + end - it "should return a random Array of unique chars" do - chars = @char_set.random_distinct_chars(10) + context "with a range of lengths" do + it "should return a random Array of unique bytes with a varying length" do + bytes = subject.random_distinct_bytes(5..10) - chars.uniq.should == chars - chars.all? { |c| @char_set.include_char?(c) }.should == true + expect(bytes.uniq).to be == bytes + expect(bytes.length).to be_between(5, 10) + expect(bytes.all? { |b| subject.include?(b) }).to be(true) + end + end end - it "should return a random Array of unique bytes with a varying length" do - bytes = @char_set.random_distinct_bytes(5..10) + describe "#random_distinct_chars" do + it "should return a random Array of unique chars" do + chars = subject.random_distinct_chars(10) - bytes.uniq.should == bytes - bytes.length.should be_between(5, 10) - bytes.all? { |b| @char_set.include?(b) }.should == true - end + expect(chars.uniq).to be == chars + expect(chars.all? { |c| subject.include_char?(c) }).to be(true) + end - it "should return a random Array of unique chars with a varying length" do - chars = @char_set.random_distinct_chars(5..10) + context "with a range of lengths" do + it "should return a random Array of unique chars with a varying length" do + chars = subject.random_distinct_chars(5..10) - chars.uniq.should == chars - chars.length.should be_between(5, 10) - chars.all? { |c| @char_set.include_char?(c) }.should == true + expect(chars.uniq).to be == chars + expect(chars.length).to be_between(5, 10) + expect(chars.all? { |c| subject.include_char?(c) }).to be(true) + end + end end it "should be able to be compared with another set of chars" do - @char_set.should == described_class['A'..'Z'] + expect(subject).to be == described_class['A'..'Z'] end it "should be able to be unioned with another set of chars" do - super_set = (@char_set | described_class['D']) + super_set = (subject | described_class['D']) - super_set.class.should == described_class - super_set.should == described_class['A'..'Z', 'D'] + expect(super_set).to be_kind_of(described_class) + expect(super_set).to be == described_class['A'..'Z', 'D'] end it "should be able to be removed from another set of chars" do - sub_set = (@char_set - described_class['B']) + sub_set = (subject - described_class['B']) - sub_set.class.should == described_class - sub_set.should be_subset(@char_set) + expect(sub_set).to be_kind_of(described_class) + expect(sub_set).to be_subset(subject) end - it "should find one sub-string from a String belonging to the char set" do - @char_set.strings_in("AAAA").should == ["AAAA"] - end + describe "#strings_in" do + it "should find one sub-string from a String belonging to the char set" do + expect(subject.strings_in("AAAA")).to be == ["AAAA"] + end - it "should find sub-strings from a String belonging to the char set" do - @char_set.strings_in("AAAA!B!CCCCCC").should == [ - "AAAA", - "CCCCCC" - ] + it "should find sub-strings from a String belonging to the char set" do + expect(subject.strings_in("AAAA!B!CCCCCC")).to be == [ + "AAAA", + "CCCCCC" + ] + end end it "should determine if a String is made up of the characters from the char set" do - @char_set.should === "AABCBAA" - @char_set.should_not === "AA!!EE" + expect(subject).to be === "AABCBAA" + expect(subject).to_not be === "AA!!EE" end end