Sha256: ce2078431df96201a280f2b6bbb7d385a9acea504b5312e6beedbb3a795ac025
Contents?: true
Size: 1.96 KB
Versions: 2
Compression:
Stored size: 1.96 KB
Contents
require 'spec_helper' describe Egn::Generator do describe "#generate" do context "invoked with no arguments" do it 'generates a valid number' do egn = Egn::Generator.generate expect(egn).not_to be_empty end it 'returns different number every time' do egn1 = Egn::Generator.generate egn2 = Egn::Generator.generate expect(egn1).not_to eq egn2 end end context "invoked with arguments" do it "generates a new EGN considering the given options" do number = Egn::Generator.generate(year: 1990, month: 12, day: 30, sex: :m) egn = Egn::Egn.new(number) expect(egn).to be_valid end it "generates a new EGN with the given year" do number = Egn::Generator.generate(year: 1990) egn = Egn::Egn.new(number) expect(egn.year).to eq(1990) end it "generates a new EGN with the given month" do number = Egn::Generator.generate(month: 6) egn = Egn::Egn.new(number) expect(egn.month).to eq(6) end it "generates a new EGN with the given day" do number = Egn::Generator.generate(day: 15) egn = Egn::Egn.new(number) expect(egn.day).to eq(15) end it "validates the options" do options = {year: 1960, month: 6, day: 3} Egn::Generator.any_instance.should_receive(:validate!).with(options) Egn::Generator.generate(options) end end end describe "#validate!" do it "raises an exception if invalid year is given" do expect{ Egn::Generator.generate(year: 1500) }.to raise_error ArgumentError end it "raises an exception if invalid month is given" do expect{ Egn::Generator.generate(month: 15) }.to raise_error ArgumentError end it "raises an exception if invalid day is given" do expect{ Egn::Generator.generate(day: 33) }.to raise_error ArgumentError end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
egn-1.1.0 | spec/egn/generator_spec.rb |
egn-1.0.0 | spec/egn/generator_spec.rb |