Source code

Revision control

Copy as Markdown

Other Tools

# frozen_string_literal: true
require 'test/unit'
require 'todolist'
include Test::Unit::Assertions
include Todolist
todo = TodoList.new
entry = TodoEntry.new(text: 'Write bindings for strings in records')
todo.add_item('Write ruby bindings')
assert_equal todo.get_last, 'Write ruby bindings'
todo.add_item('Write tests for bindings')
assert_equal todo.get_last, 'Write tests for bindings'
todo.add_entry(entry)
assert_equal todo.get_last, 'Write bindings for strings in records'
assert_equal todo.get_last_entry.text, 'Write bindings for strings in records'
todo.add_item("Test Ünicode hàndling without an entry can't believe I didn't test this at first 🤣")
assert_equal todo.get_last, "Test Ünicode hàndling without an entry can't believe I didn't test this at first 🤣"
entry2 = TodoEntry.new(text: "Test Ünicode hàndling in an entry can't believe I didn't test this at first 🤣")
todo.add_entry(entry2)
assert_equal todo.get_last_entry.text, "Test Ünicode hàndling in an entry can't believe I didn't test this at first 🤣"
todo2 = TodoList.new
assert todo2.get_items != todo.get_items
assert Todolist.get_default_list == nil
Todolist.set_default_list todo
assert todo.get_items == Todolist.get_default_list.get_items
todo2.make_default
assert todo2.get_items == Todolist.get_default_list.get_items
todo.add_item "Test liveness after being demoted from default"
assert todo.get_last == "Test liveness after being demoted from default"
todo2.add_item "Test shared state through local vs default reference"
assert Todolist.get_default_list.get_last == "Test shared state through local vs default reference"