diff options
| author | Stuart Skelton <stuarts@broadbean.com> | 2017-08-06 21:40:19 +0100 |
|---|---|---|
| committer | Stuart Skelton <stuarts@broadbean.com> | 2017-08-12 17:58:52 +0100 |
| commit | 2976acd639b57853df315f80172b61ff75b9d7f3 (patch) | |
| tree | 8d2373fff1511f9eb213a30461aa19d34a3b608a /todolist/app_test.go | |
| parent | 9f62f82025e4dd7fa3a0dfc50bb94704209e608c (diff) | |
Allow for ranged ids in some commands
Diffstat (limited to 'todolist/app_test.go')
| -rw-r--r-- | todolist/app_test.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/todolist/app_test.go b/todolist/app_test.go index f29a1b6..72a0292 100644 --- a/todolist/app_test.go +++ b/todolist/app_test.go @@ -108,3 +108,21 @@ func TestListbyContext(t *testing.T) { } assert.Equal(true, hasACompletedTodo) } + +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")) +} |
