@@ -14,9 +14,11 @@ import at.bitfire.ical4android.DmfsStyleProvidersTaskTest
1414import at.bitfire.ical4android.DmfsTask
1515import at.bitfire.ical4android.Task
1616import at.bitfire.ical4android.TaskProvider
17+ import junit.framework.Assert.assertTrue
18+ import junit.framework.TestCase.assertEquals
1719import net.fortuna.ical4j.model.property.RelatedTo
1820import org.dmfs.tasks.contract.TaskContract
19- import org.junit.Assert
21+ import org.junit.Assert.assertNotNull
2022import org.junit.Test
2123
2224class DmfsTaskListTest (providerName : TaskProvider .ProviderName ):
@@ -34,13 +36,73 @@ class DmfsTaskListTest(providerName: TaskProvider.ProviderName):
3436
3537 val dmfsTaskListProvider = DmfsTaskListProvider (testAccount, provider.client, providerName)
3638 val id = dmfsTaskListProvider.createTaskList(info)
37- Assert . assertNotNull(id)
39+ assertNotNull(id)
3840
3941 dmfsTaskListProvider.createTaskList(info)
4042
4143 return dmfsTaskListProvider.getTaskList(id)!!
4244 }
4345
46+ @Test
47+ fun testCountTasks_empty () {
48+ val taskList = createTaskList()
49+ try {
50+ val count = taskList.countTasks(null , null )
51+ assertEquals(0 , count)
52+ } finally {
53+ taskList.delete()
54+ }
55+ }
56+
57+ @Test
58+ fun testCountTasks_withFilter () {
59+ val taskList = createTaskList()
60+ try {
61+ // Add tasks with different UIDs
62+ val task1 = Task ().apply {
63+ uid = " filter-uid-1"
64+ summary = " Filter Test 1"
65+ }
66+ val task2 = Task ().apply {
67+ uid = " filter-uid-2"
68+ summary = " Filter Test 2"
69+ }
70+
71+ DmfsTask (taskList, task1, " sync-id-1" , null , 0 ).add()
72+ DmfsTask (taskList, task2, " sync-id-2" , null , 0 ).add()
73+
74+ // Test counting with UID filter
75+ val filteredCount = taskList.countTasks(" ${TaskContract .Tasks ._UID } =?" , arrayOf(" filter-uid-1" ))
76+ assertEquals(1 , filteredCount)
77+ } finally {
78+ taskList.delete()
79+ }
80+ }
81+
82+ @Test
83+ fun testCountTasks_withoutFilter () {
84+ val taskList = createTaskList()
85+ try {
86+ // Add multiple tasks
87+ val task1 = Task ().apply {
88+ uid = " task-1"
89+ summary = " Test Task 1"
90+ }
91+ val task2 = Task ().apply {
92+ uid = " task-2"
93+ summary = " Test Task 2"
94+ }
95+
96+ DmfsTask (taskList, task1, " sync-id-1" , null , 0 ).add()
97+ DmfsTask (taskList, task2, " sync-id-2" , null , 0 ).add()
98+
99+ val count = taskList.countTasks(null , null )
100+ assertEquals(2 , count)
101+ } finally {
102+ taskList.delete()
103+ }
104+ }
105+
44106 @Test
45107 fun testTouchRelations () {
46108 val taskList = createTaskList()
@@ -76,25 +138,25 @@ class DmfsTaskListTest(providerName: TaskProvider.ProviderName):
76138 taskList.provider.client.query(taskList.tasksPropertiesUri(), null ,
77139 " ${TaskContract .Properties .TASK_ID } =?" , arrayOf(childId.toString()),
78140 null , null )!! .use { cursor ->
79- Assert . assertEquals(1 , cursor.count)
141+ assertEquals(1 , cursor.count)
80142 cursor.moveToNext()
81143
82144 val row = ContentValues ()
83145 DatabaseUtils .cursorRowToContentValues(cursor, row)
84146
85- Assert . assertEquals(
147+ assertEquals(
86148 TaskContract .Property .Relation .CONTENT_ITEM_TYPE ,
87149 row.getAsString(TaskContract .Properties .MIMETYPE )
88150 )
89- Assert . assertEquals(
151+ assertEquals(
90152 parentId,
91153 row.getAsLong(TaskContract .Property .Relation .RELATED_ID )
92154 )
93- Assert . assertEquals(
155+ assertEquals(
94156 parent.uid,
95157 row.getAsString(TaskContract .Property .Relation .RELATED_UID )
96158 )
97- Assert . assertEquals(
159+ assertEquals(
98160 TaskContract .Property .Relation .RELTYPE_PARENT ,
99161 row.getAsInteger(TaskContract .Property .Relation .RELATED_TYPE )
100162 )
@@ -106,8 +168,8 @@ class DmfsTaskListTest(providerName: TaskProvider.ProviderName):
106168 // now parent_id should bet set
107169 taskList.provider.client.query(childContentUri, arrayOf(TaskContract .Tasks .PARENT_ID ),
108170 null , null , null )!! .use { cursor ->
109- Assert . assertTrue(cursor.moveToNext())
110- Assert . assertEquals(parentId, cursor.getLong(0 ))
171+ assertTrue(cursor.moveToNext())
172+ assertEquals(parentId, cursor.getLong(0 ))
111173 }
112174 } finally {
113175 taskList.delete()
0 commit comments