spec/data/sun_spec.rb in attack-barometer-0.5.0 vs spec/data/sun_spec.rb in attack-barometer-0.6.0
- old
+ new
@@ -44,6 +44,59 @@
sun.nil?.should be_false
end
end
+ describe "comparisons" do
+
+ before(:each) do
+ now = Time.local(2009,5,5,11,40,00)
+ @mid_time = Data::LocalTime.new.parse(now)
+ @early_time = Data::LocalTime.new.parse(now - (60*60*8))
+ @late_time = Data::LocalTime.new.parse(now + (60*60*8))
+ end
+
+ describe "after_rise?" do
+
+ it "requires a LocalTime object" do
+ sun = Data::Sun.new(@early_time,@late_time)
+ lambda { sun.after_rise? }.should raise_error(ArgumentError)
+ lambda { sun.after_rise?("invalid") }.should raise_error(ArgumentError)
+ lambda { sun.after_rise?(@mid_time) }.should_not raise_error(ArgumentError)
+ end
+
+ it "returns true when after sun rise" do
+ sun = Data::Sun.new(@early_time,@late_time)
+ sun.after_rise?(@mid_time).should be_true
+ end
+
+ it "returns false when before sun rise" do
+ sun = Data::Sun.new(@mid_time,@late_time)
+ sun.after_rise?(@early_time).should be_false
+ end
+
+ end
+
+ describe "before_set?" do
+
+ it "requires a LocalTime object" do
+ sun = Data::Sun.new(@early_time,@late_time)
+ lambda { sun.before_set? }.should raise_error(ArgumentError)
+ lambda { sun.before_set?("invalid") }.should raise_error(ArgumentError)
+ lambda { sun.before_set?(@mid_time) }.should_not raise_error(ArgumentError)
+ end
+
+ it "returns true when before sun set" do
+ sun = Data::Sun.new(@early_time,@late_time)
+ sun.before_set?(@mid_time).should be_true
+ end
+
+ it "returns false when before sun set" do
+ sun = Data::Sun.new(@early_time,@mid_time)
+ sun.before_set?(@late_time).should be_false
+ end
+
+ end
+
+ end
+
end
\ No newline at end of file