describe Rubicure::Core do let(:instance) { Rubicure::Core.instance } describe "#now" do subject { instance.now } context "when on air" do before do time_travel_to "2013-01-01" end its(:title) { should == "スマイルプリキュア!" } end context "when not on air" do before do time_travel_to "2013-02-01" end it { expect { subject }.to raise_error Rubicure::NotOnAirError } end end describe "#each_with_series" do before do @expected_series = [] Rubicure::Series.uniq_names.each do |series_name| @expected_series << Rubicure::Series.find(series_name) end end it { expect { |b| instance.each_with_series(&b) }.to yield_successive_args(*@expected_series) } end describe "#all_stars" do context "Without arg" do subject { instance.all_stars } let(:precure_count) { 44 } its(:count) { should == precure_count } end context "With arg" do subject { instance.all_stars(arg) } where(:arg, :expected_count, :include_cure_echo) do [ ["2009-03-20", 14, false], [Date.parse("2010-03-20"), 17, false], [Time.parse("2011-03-19"), 21, false], [:dx, 14, false], [:dx1, 14, false], [:dx2, 17, false], [:dx3, 21, false], [:ns, 29, true], [:ns1, 29, true], [:new_stage, 29, true], [:new_stage1, 29, true], [:ns2, 32, false], [:new_stage2, 32, false], [:ns3, 37, true], [:new_stage3, 37, true], [:sc, 40, false], [:spring_carnival, 40, false], [:stmm, 44, true], [:sing_together_miracle_magic, 44, true], ] end with_them do its(:count) { should == expected_count } it { expect(subject.include?(Cure.echo)).to be include_cure_echo } end end end end