Sha256: d6649aa6a96537db58d29c1557825cefe58c8ed63bc9ece7160707e960d337e1

Contents?: true

Size: 996 Bytes

Versions: 1

Compression:

Stored size: 996 Bytes

Contents

require 'generative'

Generative.register_generator(:string) { "a" * rand(255) }

RSpec.describe String do
  let(:string) { "abc" }

  describe "#length" do
    it "counts characters" do
      expect(string.length).to eq(3)
    end

    xit "still prints pending spec names"

    generative do
      data(:string) { "a" * rand(255) }

      it "is never negative" do
        expect(string.length).to be >= 0
      end
    end

    xit "uses registered generators"

    generative do
      data(:string) { generate(:string) }

      it "is never negative" do
        expect(string.length).to be >= 0
      end
    end
  end

  describe "#reverse" do
    it "reverses" do
      expect(string.reverse).to eq("cba")
    end

    generative do
      data(:string) { rand(12345).to_s }

      it "maintains length" do
        expect(string.reverse.length).to eq(string.length)
      end

      it "is not destructive" do
        expect(string.reverse.reverse).to eq(string)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
generative-0.2.5 spec/generative_spec.rb