Skip to content

Commit 33c1633

Browse files
committed
Projects testcase added
1 parent 9be3607 commit 33c1633

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
import 'package:flutter_test/flutter_test.dart';
2+
import 'package:taskwarrior/app/utils/taskfunctions/projects.dart';
3+
4+
void main() {
5+
test('sparseDecoratedProjectTree test', () {
6+
var projects1 = {
7+
'projectA': 5,
8+
'projectA.subprojectB': 3,
9+
'projectA.subprojectC': 2,
10+
'projectA.subprojectC.subsubprojectD': 1,
11+
};
12+
var result1 = sparseDecoratedProjectTree(projects1);
13+
expect(result1.keys.toSet(), {
14+
'projectA',
15+
'projectA.subprojectB',
16+
'projectA.subprojectC',
17+
'projectA.subprojectC.subsubprojectD',
18+
});
19+
expect(result1['projectA']!.children, {
20+
'projectA.subprojectB',
21+
'projectA.subprojectC',
22+
});
23+
expect(result1['projectA.subprojectC']!.children, {
24+
'projectA.subprojectC.subsubprojectD',
25+
});
26+
27+
var projects2 = {
28+
'projectX': 10,
29+
'projectX.subprojectY': 5,
30+
'projectX.subprojectZ': 3,
31+
'projectX.subprojectZ.subsubprojectA': 2,
32+
'projectX.subprojectZ.subsubprojectB': 1,
33+
'projectX.subprojectZ.subsubprojectC': 4,
34+
};
35+
var result2 = sparseDecoratedProjectTree(projects2);
36+
expect(result2.keys.toSet(), {
37+
'projectX',
38+
'projectX.subprojectY',
39+
'projectX.subprojectZ',
40+
'projectX.subprojectZ.subsubprojectA',
41+
'projectX.subprojectZ.subsubprojectB',
42+
'projectX.subprojectZ.subsubprojectC',
43+
});
44+
expect(result2['projectX.subprojectZ.subsubprojectA']!.parent, 'projectX.subprojectZ');
45+
expect(result2['projectX.subprojectZ.subsubprojectC']!.parent, 'projectX.subprojectZ');
46+
47+
var projects3 = {
48+
'rootProject': 0,
49+
};
50+
var result3 = sparseDecoratedProjectTree(projects3);
51+
expect(result3.keys, ['rootProject']);
52+
expect(result3['rootProject']!.children.isEmpty, true);
53+
expect(result3['rootProject']!.parent, null);
54+
55+
var projects4 = {
56+
'projectP': 2,
57+
'projectP.subprojectQ': 3,
58+
'projectP.subprojectQ.subsubprojectR': 1,
59+
};
60+
var result4 = sparseDecoratedProjectTree(projects4);
61+
expect(result4.keys.toSet(), {
62+
'projectP',
63+
'projectP.subprojectQ',
64+
'projectP.subprojectQ.subsubprojectR',
65+
});
66+
expect(result4['projectP.subprojectQ.subsubprojectR']!.parent, 'projectP.subprojectQ');
67+
68+
69+
});
70+
}

0 commit comments

Comments
 (0)