test/test_hijri.rb in hijri-0.4.0 vs test/test_hijri.rb in hijri-0.5.0
- old
+ new
@@ -88,12 +88,12 @@
date = Hijri::Date.new 1436, 2, 21
assert_equal "Safar", date.strftime("%B")
end
def test_hijri_date_strftime_with_no_input
- date = Hijri::Date.new 1433, 9, 18
- assert_equal "1433-09-18", date.strftime
+ date = Hijri::Date.new 1433, 12, 18
+ assert_equal "1433-12-18", date.strftime
end
def test_hijri_datetime_strftime_with_no_input
datetime = Hijri::DateTime.new 1433, 9, 18, 1, 1, 1, '+03:00'
#"1433-09-18T01:01:01+03:00"
@@ -129,12 +129,50 @@
assert_equal "079", date.strftime('%j')
end
def test_hijri_week_number_of_the_year
date = Hijri::Date.new 1436, 3, 20
- assert_equal("11", date.strftime('%U'))
- assert_equal("11", date.strftime('%W'))
+ assert_equal "11", date.strftime('%U')
+ assert_equal "11", date.strftime('%W')
end
- # TODO add Hijri::Date.change and test it.
+ def test_date_change
+ date = Hijri::Date.new 1436, 3, 20
+ date_to_be = Hijri::Date.new 1435, 4, 10
+
+ date.change :year => 1435, :month => 4, :day => 10
+ assert_equal date_to_be, date
+ end
+
+ def test_date_change_with_nil_arguments
+ date = Hijri::Date.new 1436, 3, 20
+ date_to_be = Hijri::Date.new 1435, 4, 20
+
+ date.change :year => 1435, :month => 4, :day => nil
+ assert_equal date_to_be, date
+ end
+
+ def test_datetime_change
+ datetime = Hijri::DateTime.new(1436, 3, 20, 10, 15, 30)
+ datetime_to_be = Hijri::DateTime.new(1435, 4, 10, 9, 30, 0)
+
+ datetime.change :year => 1435, :month => 4, :day => 10, :hour => 9, :minute => 30, :second => 0
+ assert_equal datetime_to_be, datetime
+ end
+
+ def test_datetime_change_with_nil_arguments
+ datetime = Hijri::DateTime.new(1436, 3, 20, 10, 15, 30)
+ datetime_to_be = Hijri::DateTime.new(1435, 4, 10, 9, 30, 30)
+
+ datetime.change :year => 1435, :month => 4, :day => 10, :hour => 9, :minute => 30, :second => nil
+ assert_equal datetime_to_be, datetime
+ end
+
+ def test_initilize_date_with_invalid_arguments
+ assert_raises(ArgumentError) { Hijri::Date.new(1430, 30, 10) }
+ end
+
+ def test_initilize_datetime_with_invalid_arguments
+ assert_raises(ArgumentError) { Hijri::DateTime.new(1430, 12, 10, 30, 70) }
+ end
end