aboutsummaryrefslogtreecommitdiffstats
path: root/todolist/app_test.go
diff options
context:
space:
mode:
authorQuey-Liang Kao <s101062801@m101.nthu.edu.tw>2017-08-20 21:44:56 +0800
committerQuey-Liang Kao <s101062801@m101.nthu.edu.tw>2017-08-20 21:44:56 +0800
commit7877f0735dab782f66af157b39d6de3539c97102 (patch)
treeddb228b1c8154a4ccee0b6438da5c0bcd7eda7b5 /todolist/app_test.go
parente1ed1a2357bbf5083e96c883071339235ac0f02e (diff)
parent620a9f3aff090063f79285fb20437a62ce089a4e (diff)
Merge github.com:gammons/todolist into note_patch_set
Diffstat (limited to 'todolist/app_test.go')
-rw-r--r--todolist/app_test.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/todolist/app_test.go b/todolist/app_test.go
index f29a1b6..2fb7717 100644
--- a/todolist/app_test.go
+++ b/todolist/app_test.go
@@ -108,3 +108,32 @@ func TestListbyContext(t *testing.T) {
}
assert.Equal(true, hasACompletedTodo)
}
+
+func TestGetId(t *testing.T) {
+ assert := assert.New(t)
+ app := &App{TodoList: &TodoList{}, TodoStore: &MemoryStore{}}
+ // not a valid id
+ assert.Equal(-1, app.getId("p"))
+ // a single digit id
+ assert.Equal(6, app.getId("6"))
+ // a double digit id
+ assert.Equal(66, app.getId("66"))
+}
+
+func TestGetIds(t *testing.T) {
+ assert := assert.New(t)
+ app := &App{TodoList: &TodoList{}, TodoStore: &MemoryStore{}}
+ // no valid id here
+ assert.Equal(0, len(app.getIds("p")))
+ // one valid value here
+ assert.Equal([]int{6}, app.getIds("6"))
+ // lots of single post numbers
+ assert.Equal([]int{6, 10, 8, 4}, app.getIds("6,10,8,4"))
+ // a correct range
+ assert.Equal([]int{6, 7, 8}, app.getIds("6-8"))
+ // some incorrect ranges
+ assert.Equal(0, len(app.getIds("6-6")))
+ assert.Equal(0, len(app.getIds("8-6")))
+ // some compsite ranges
+ assert.Equal([]int{5, 6, 7, 8, 10, 11, 9}, app.getIds("5,6-8,10-11,9"))
+}