129 lines
2.9 KiB
Ruby
129 lines
2.9 KiB
Ruby
require File.expand_path('../test_helper.rb', __FILE__)
|
|
|
|
class TaskTest < Minitest::Test
|
|
|
|
include WorkingClass
|
|
|
|
|
|
def test_initialize
|
|
task = Task.new "Buy oranges"
|
|
|
|
assert_instance_of(Task, task)
|
|
assert_equal "Buy oranges", task.name
|
|
assert !task.is_finished?
|
|
assert_nil task.date
|
|
assert_nil task.reminder
|
|
end
|
|
|
|
def test_initialize_with_options
|
|
task = Task.new "Buy even more oranges", :is_finished => true, :reminder => DateTime.new,
|
|
:date => Date.new
|
|
|
|
assert_equal "Buy even more oranges", task.name
|
|
assert task.is_finished?
|
|
assert_instance_of DateTime, task.reminder
|
|
assert_instance_of Date, task.date
|
|
end
|
|
|
|
def test_is_upcoming_today
|
|
task = Task.new "Futurama Marathon", :date => Date.today
|
|
|
|
assert(task.is_upcoming)
|
|
end
|
|
|
|
def test_is_upcoming_tomorrow
|
|
task = Task.new "Eat healthy", :date => Date.today + 1
|
|
|
|
assert(task.is_upcoming)
|
|
end
|
|
|
|
def test_is_upcoming_yesterday
|
|
task = Task.new "task lists are great", :date => Date.today - 1
|
|
|
|
assert(!task.is_upcoming)
|
|
end
|
|
|
|
def test_is_upcoming_already_finished
|
|
task = Task.new "Backup all the files", :is_finished => true, :date => Date.today
|
|
|
|
assert(!task.is_upcoming)
|
|
end
|
|
|
|
def test_is_upcoming_already_finished_tomorrow
|
|
task = Task.new "Eat chips", :is_finished => true, :date => Date.today + 1
|
|
|
|
assert(!task.is_upcoming)
|
|
end
|
|
|
|
def test_is_upcoming_without_date
|
|
task = Task.new "Backup all the files"
|
|
|
|
assert(task.is_upcoming)
|
|
end
|
|
|
|
def test_is_today
|
|
task = Task.new "Be a WUUH Girl", :date => Date.today
|
|
|
|
assert(task.is_today)
|
|
end
|
|
|
|
def test_is_today_without_a_date
|
|
task = Task.new "Never be a WUUH Girl"
|
|
|
|
assert(!task.is_today)
|
|
end
|
|
|
|
def test_is_today_with_future_date
|
|
task = Task.new "Never be a WUUH Girl again", :date => Date.today + 1
|
|
|
|
assert(!task.is_today)
|
|
end
|
|
|
|
def test_is_tomorrow
|
|
task = Task.new "Eat chips", :date => Date.today + 1
|
|
|
|
assert(task.is_tomorrow)
|
|
end
|
|
|
|
def test_is_tomorrow_was_actually_yesterday
|
|
task = Task.new "Eat chips", :date => Date.today - 1
|
|
|
|
assert(!task.is_tomorrow)
|
|
end
|
|
|
|
def test_is_tomorrow_is_actually_next_week
|
|
task = Task.new "Eat chips", :date => Date.today + 9
|
|
|
|
assert(!task.is_tomorrow)
|
|
end
|
|
|
|
def test_is_tomorrow_without_a_date
|
|
task = Task.new "Eat chips"
|
|
|
|
assert(task.is_tomorrow)
|
|
end
|
|
|
|
def test_is_tomorrow_already_finished
|
|
task = Task.new "Eat chips", :is_finished => true, :date => Date.today + 1
|
|
|
|
assert(!task.is_tomorrow)
|
|
end
|
|
|
|
def test_alias_methods
|
|
task = Task.new "my awesome task"
|
|
|
|
assert_respond_to(task, :is_finished?)
|
|
assert_respond_to(task, :finished?)
|
|
|
|
assert_respond_to(task, :is_tomorrow?)
|
|
assert_respond_to(task, :tomorrow?)
|
|
|
|
assert_respond_to(task, :is_upcoming?)
|
|
assert_respond_to(task, :upcoming?)
|
|
|
|
assert_respond_to(task, :is_today?)
|
|
assert_respond_to(task, :today?)
|
|
end
|
|
|
|
end
|