Sha256: cfcf5deb2ed8224834af21bc208266111702e0533221401e3be86d872b7e2ee2

Contents?: true

Size: 1.96 KB

Versions: 3

Compression:

Stored size: 1.96 KB

Contents

# frozen_string_literal: true

require 'test_helper'

class TestProject < MiniTest::Test
  include TaskWarrior::Test::Validations

  def test_name
    project = TaskWarrior::Project.new('foo')
    assert_valid(project)
    assert_empty(project.tasks)
  end

  def test_empty_tasks
    project = TaskWarrior::Project.new('foo', [])
    assert_valid(project)
    assert_empty(project.tasks)
  end

  def test_with_tasks
    project = TaskWarrior::Project.new('foo', [TaskWarrior::Task.new('foobar')])
    assert_valid(project)
    assert_equal(1, project.tasks.size)
  end

  def test_name_nil
    project = TaskWarrior::Project.new(nil)
    assert_invalid(project)
  end

  def test_name_empty
    project = TaskWarrior::Project.new('')
    assert_invalid(project)
  end

  def test_name_with_space
    project = TaskWarrior::Project.new('foo bar')
    assert_invalid(project)
  end

  def test_name_just_space
    project = TaskWarrior::Project.new(' ')
    assert_invalid(project)
  end

  def test_add_task
    project = TaskWarrior::Project.new('foo')
    assert_empty(project.tasks)
    t1 = TaskWarrior::Task.new('foobar')
    t2 = TaskWarrior::Task.new('foobaz')
    project << t1
    project << t2
    assert_equal(2, project.tasks.size)
    assert_equal(project, t1.project)
    assert_equal(project, t2.project)
  end

  def test_equality
    a1 = TaskWarrior::Project.new('foo')
    a2 = TaskWarrior::Project.new('foo')

    assert_equal(a1, a2)
  end

  def test_equality_different_name
    a1 = TaskWarrior::Project.new('foo')
    a2 = TaskWarrior::Project.new('bar')
    assert_inequality(a1, a2)
  end

  def test_equality_different_tasks
    a1 = TaskWarrior::Project.new('foo')
    a2 = TaskWarrior::Project.new('foo', [TaskWarrior::Task.new('foobar')])

    assert_inequality(a1, a2)
  end

  def test_equality_different_name_and_tasks
    a1 = TaskWarrior::Project.new('foo')
    a2 = TaskWarrior::Project.new('bar', [TaskWarrior::Task.new('baz')])

    assert_inequality(a1, a2)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
taskwarrior-1.0.2 test/unit/test_project.rb
taskwarrior-1.0.1 test/unit/test_project.rb
taskwarrior-1.0.0 test/unit/test_project.rb