Skip to content

Commit 0ebf234

Browse files
committed
update tests to latest DepUnit APIs
1 parent d524b15 commit 0ebf234

1 file changed

Lines changed: 178 additions & 176 deletions

File tree

Tests.moon

Lines changed: 178 additions & 176 deletions
Original file line numberDiff line numberDiff line change
@@ -1,176 +1,178 @@
1-
DependencyControl = require "l0.DependencyControl"
2-
3-
DependencyControl.UnitTestSuite "l0.Functional", (cmn, util, unicode) -> {
4-
ListFunctions: {
5-
_description: "Test all functions for continuous, numerically indexed tables (list.*)"
6-
_setup: (ut) ->
7-
testFunc = () ->
8-
testTables = {
9-
mixedList: {"a", 15, false, {"test"}, testFunc }
10-
contList: {"a", "b", "c", "d" }
11-
numbersList: {10, 11, 12, 13, 14, 15 }
12-
joinedList: {10, 11, 12, 13, 14, 15, "a", "b", "c", "d" }
13-
repeatList: {"a", "b", "c", "b", "a", "d" }
14-
gapList: {"a", "b", nil, "c", "d" }
15-
stringSet: {a: true, b: true, c: true, d: true }
16-
stringUnset: {a: false, b: false, c: false, d: false }
17-
tableList: {{a: 1}, {b: 2}, 3, {a: 4} }
18-
}
19-
20-
testData = {
21-
string: "This is a test."
22-
uniString: "仕方が無い"
23-
}
24-
25-
return testTables, testFunc
26-
27-
chunk: (ut, tbls, f) ->
28-
chunks = cmn.list.chunk tbls.mixedList, 2
29-
ut\assertEquals chunks, {{"a", 15}, {false, {"test"}, }, {f}}
30-
31-
compact: (ut, tbls) ->
32-
list = cmn.list.compact tbls.gapList
33-
ut\assertEquals list, tbls.contList
34-
35-
diff: (ut, tbls, f) ->
36-
diff, rightSet = cmn.list.diff tbls.mixedList, tbls.contList, tbls.numbersList
37-
ut\assertEquals diff, {false, {"test"}, f }
38-
39-
filter: (ut, tbls) ->
40-
filtered = cmn.list.filter tbls.mixedList, (v, i) ->
41-
i == 3 or "string" == type v
42-
ut\assertEquals filtered, {"a", false}
43-
44-
find: (ut, tbls) ->
45-
result = cmn.list.find tbls.numbersList, (v) -> v > 12
46-
ut\assertEquals result, 13
47-
48-
findInRange: (ut, tbls) ->
49-
result = cmn.list.findInRange tbls.numbersList, 5, nil, (v) -> v > 12
50-
ut\assertEquals result, 14
51-
52-
indexBy: (ut, tbls) ->
53-
result = cmn.list.indexBy tbls.tableList, "a"
54-
ut\assertEquals result, {{a: 1}, nil, nil, {a: 4} }
55-
56-
indexOf: (ut, tbls) ->
57-
index = cmn.list.indexOf tbls.repeatList, "b", 3
58-
ut\assertEquals index, 4
59-
60-
intersect: (ut, tbls) ->
61-
intersection = cmn.list.intersect tbls.mixedList, tbls.contList, tbls.repeatList
62-
ut\assertEquals intersection, {"a"}
63-
64-
join: (ut, tbls) ->
65-
joined = cmn.list.join tbls.numbersList, tbls.contList
66-
ut\assertIsNot joined, tbls.numbersList
67-
ut\assertEquals joined, tbls.joinedList
68-
69-
joinInto: (ut, tbls) ->
70-
numbersList = util.copy tbls.numbersList
71-
joined = cmn.list.joinInto numbersList, tbls.contList
72-
ut\assertIs joined, numbersList
73-
ut\assertEquals joined, tbls.joinedList
74-
75-
lastIndexOf: (ut, tbls) ->
76-
index = cmn.list.lastIndexOf tbls.repeatList, "b", nil, 3
77-
ut\assertEquals index, 2
78-
79-
listMetaType: (ut, tbls) ->
80-
list = cmn.list tbls.numbersList
81-
len = list\reduce 0, (result) -> result + 1
82-
ut\assertEquals len, #tbls.numbersList
83-
84-
makeSetDef: (ut, tbls) ->
85-
set = cmn.list.makeSet tbls.contList
86-
ut\assertEquals set, tbls.stringSet
87-
ut\assertIsNot set, tbls.contList
88-
89-
makeSetInline: (ut, tbls) ->
90-
set = util.copy tbls.contList
91-
set.a = false
92-
93-
set2 = cmn.list.makeSet set, set, false
94-
ut\assertIs set2, set
95-
ut\assertEquals set2, {"a", "b", "c", "d", a: true, b: true, c: true, d: true}
96-
97-
map: (ut, tbls) ->
98-
mapped = cmn.list.map tbls.numbersList, (v) -> v / 2 if v%2 == 0
99-
ut\assertEquals mapped, {5, nil, 6, nil, 7}
100-
101-
mapCompact: (ut, tbls) ->
102-
mapped = cmn.list.mapCompact tbls.numbersList, (v) -> v / 2 if v%2 == 0
103-
ut\assertEquals mapped, {5, 6, 7}
104-
105-
pluck: (ut, tbls) ->
106-
plucked = cmn.list.pluck tbls.tableList, "a"
107-
ut\assertEquals plucked, {1, nil, 4}
108-
109-
reduce: (ut, tbls) ->
110-
result = cmn.list.reduce tbls.numbersList, 0, (result, v) -> result + v
111-
ut\assertEquals result, 75
112-
113-
removeRange: (ut, tbls) ->
114-
tbl = util.copy tbls.repeatList
115-
removed, rmCnt = cmn.list.removeRange tbl, 4, 5
116-
ut\assertEquals rmCnt, 2
117-
ut\assertEquals removed, {"b", "a"}
118-
ut\assertEquals tbl, tbls.contList
119-
120-
removeIndexes: (ut, tbls) ->
121-
tbl = util.copy tbls.repeatList
122-
removed, rmCnt = cmn.list.removeIndexes tbl, 4, 5
123-
ut\assertEquals rmCnt, 2
124-
ut\assertEquals removed, {"b", "a"}
125-
ut\assertEquals tbl, tbls.contList
126-
127-
removeValues: (ut, tbls, f) ->
128-
tbl = util.copy tbls.mixedList
129-
removed, rmCnt = cmn.list.removeValues tbl, f, false, 15
130-
ut\assertEquals rmCnt, 3
131-
ut\assertEquals removed, {15, false, f}
132-
ut\assertEquals tbl, {"a", {"test"}}
133-
134-
removeWhere: (ut, tbls, f) ->
135-
tbl = util.copy tbls.mixedList
136-
removed, rmCnt = cmn.list.removeWhere tbl, (v, i) ->
137-
type(v) == "string" or i == 2
138-
ut\assertEquals rmCnt, 2
139-
ut\assertEquals removed, {"a", 15}
140-
ut\assertEquals tbl, {false, {"test"}, f}
141-
142-
slice: (ut, tbls) ->
143-
sliced = cmn.list.slice tbls.joinedList, 7, -1
144-
ut\assertIsNot sliced, tbls.joinedList
145-
ut\assertEquals sliced, tbls.contList
146-
147-
trimEnd: (ut, tbls) ->
148-
trimmed = util.copy tbls.joinedList
149-
removed, rmCnt = cmn.list.trim trimmed, nil, 6
150-
ut\assertEquals rmCnt, 4
151-
ut\assertEquals removed, tbls.contList
152-
ut\assertEquals trimmed, tbls.numbersList
153-
154-
trimBoth: (ut, tbls) ->
155-
trimmed = util.copy tbls.joinedList
156-
removed, rmCnt = cmn.list.trim trimmed, 6, -3
157-
ut\assertEquals rmCnt, 7
158-
ut\assertEquals removed, {10, 11, 12, 13, 14, "c", "d"}
159-
ut\assertEquals trimmed, {15, "a", "b"}
160-
161-
uniq: (ut, tbls) ->
162-
unique, u = cmn.list.uniq tbls.repeatList
163-
ut\assertEquals u, #tbls.contList
164-
ut\assertEquals unique, tbls.contList
165-
166-
uniqCallback: (ut, tbls) ->
167-
unique, u = cmn.list.uniq tbls.numbersList, (v) -> math.floor v/2
168-
ut\assertEquals u, 3
169-
ut\assertEquals, unique, {5, 6, 7}
170-
171-
_order: {"makeSetDef", "makeSetInline", "compact", "chunk", "diff", "filter", "find", "findInRange",
172-
"indexBy", "indexOf", "lastIndexOf", "intersect", "join", "joinInto", "removeRange", "removeIndexes",
173-
"removeValues", "slice", "trimEnd", "trimBoth", "map", "mapCompact", "reduce", "pluck",
174-
"uniq", "uniqCallback", "listMetaType", "removeWhere"}
175-
}
176-
}
1+
DependencyControl = require "l0.DependencyControl"
2+
3+
DependencyControl.UnitTestSuite "l0.Functional", (functional, deps) ->
4+
{util, unicode} = deps
5+
{
6+
ListFunctions: {
7+
_description: "Test all functions for continuous, numerically indexed tables (list.*)"
8+
_setup: (ut) ->
9+
testFunc = () ->
10+
testTables = {
11+
mixedList: {"a", 15, false, {"test"}, testFunc }
12+
contList: {"a", "b", "c", "d" }
13+
numbersList: {10, 11, 12, 13, 14, 15 }
14+
joinedList: {10, 11, 12, 13, 14, 15, "a", "b", "c", "d" }
15+
repeatList: {"a", "b", "c", "b", "a", "d" }
16+
gapList: {"a", "b", nil, "c", "d" }
17+
stringSet: {a: true, b: true, c: true, d: true }
18+
stringUnset: {a: false, b: false, c: false, d: false }
19+
tableList: {{a: 1}, {b: 2}, 3, {a: 4} }
20+
}
21+
22+
testData = {
23+
string: "This is a test."
24+
uniString: "仕方が無い"
25+
}
26+
27+
return testTables, testFunc
28+
29+
chunk: (ut, tbls, f) ->
30+
chunks = functional.list.chunk tbls.mixedList, 2
31+
ut\assertEquals chunks, {{"a", 15}, {false, {"test"}, }, {f}}
32+
33+
compact: (ut, tbls) ->
34+
list = functional.list.compact tbls.gapList
35+
ut\assertEquals list, tbls.contList
36+
37+
diff: (ut, tbls, f) ->
38+
diff, rightSet = functional.list.diff tbls.mixedList, tbls.contList, tbls.numbersList
39+
ut\assertEquals diff, {false, {"test"}, f }
40+
41+
filter: (ut, tbls) ->
42+
filtered = functional.list.filter tbls.mixedList, (v, i) ->
43+
i == 3 or "string" == type v
44+
ut\assertEquals filtered, {"a", false}
45+
46+
find: (ut, tbls) ->
47+
result = functional.list.find tbls.numbersList, (v) -> v > 12
48+
ut\assertEquals result, 13
49+
50+
findInRange: (ut, tbls) ->
51+
result = functional.list.findInRange tbls.numbersList, 5, nil, (v) -> v > 12
52+
ut\assertEquals result, 14
53+
54+
indexBy: (ut, tbls) ->
55+
result = functional.list.indexBy tbls.tableList, "a"
56+
ut\assertEquals result, {{a: 1}, nil, nil, {a: 4} }
57+
58+
indexOf: (ut, tbls) ->
59+
index = functional.list.indexOf tbls.repeatList, "b", 3
60+
ut\assertEquals index, 4
61+
62+
intersect: (ut, tbls) ->
63+
intersection = functional.list.intersect tbls.mixedList, tbls.contList, tbls.repeatList
64+
ut\assertEquals intersection, {"a"}
65+
66+
join: (ut, tbls) ->
67+
joined = functional.list.join tbls.numbersList, tbls.contList
68+
ut\assertIsNot joined, tbls.numbersList
69+
ut\assertEquals joined, tbls.joinedList
70+
71+
joinInto: (ut, tbls) ->
72+
numbersList = util.copy tbls.numbersList
73+
joined = functional.list.joinInto numbersList, tbls.contList
74+
ut\assertIs joined, numbersList
75+
ut\assertEquals joined, tbls.joinedList
76+
77+
lastIndexOf: (ut, tbls) ->
78+
index = functional.list.lastIndexOf tbls.repeatList, "b", nil, 3
79+
ut\assertEquals index, 2
80+
81+
listMetaType: (ut, tbls) ->
82+
list = functional.list tbls.numbersList
83+
len = list\reduce 0, (result) -> result + 1
84+
ut\assertEquals len, #tbls.numbersList
85+
86+
makeSetDef: (ut, tbls) ->
87+
set = functional.list.makeSet tbls.contList
88+
ut\assertEquals set, tbls.stringSet
89+
ut\assertIsNot set, tbls.contList
90+
91+
makeSetInline: (ut, tbls) ->
92+
set = util.copy tbls.contList
93+
set.a = false
94+
95+
set2 = functional.list.makeSet set, set, false
96+
ut\assertIs set2, set
97+
ut\assertEquals set2, {"a", "b", "c", "d", a: true, b: true, c: true, d: true}
98+
99+
map: (ut, tbls) ->
100+
mapped = functional.list.map tbls.numbersList, (v) -> v / 2 if v%2 == 0
101+
ut\assertEquals mapped, {5, nil, 6, nil, 7}
102+
103+
mapCompact: (ut, tbls) ->
104+
mapped = functional.list.mapCompact tbls.numbersList, (v) -> v / 2 if v%2 == 0
105+
ut\assertEquals mapped, {5, 6, 7}
106+
107+
pluck: (ut, tbls) ->
108+
plucked = functional.list.pluck tbls.tableList, "a"
109+
ut\assertEquals plucked, {1, nil, 4}
110+
111+
reduce: (ut, tbls) ->
112+
result = functional.list.reduce tbls.numbersList, 0, (result, v) -> result + v
113+
ut\assertEquals result, 75
114+
115+
removeRange: (ut, tbls) ->
116+
tbl = util.copy tbls.repeatList
117+
removed, rmCnt = functional.list.removeRange tbl, 4, 5
118+
ut\assertEquals rmCnt, 2
119+
ut\assertEquals removed, {"b", "a"}
120+
ut\assertEquals tbl, tbls.contList
121+
122+
removeIndexes: (ut, tbls) ->
123+
tbl = util.copy tbls.repeatList
124+
removed, rmCnt = functional.list.removeIndexes tbl, 4, 5
125+
ut\assertEquals rmCnt, 2
126+
ut\assertEquals removed, {"b", "a"}
127+
ut\assertEquals tbl, tbls.contList
128+
129+
removeValues: (ut, tbls, f) ->
130+
tbl = util.copy tbls.mixedList
131+
removed, rmCnt = functional.list.removeValues tbl, f, false, 15
132+
ut\assertEquals rmCnt, 3
133+
ut\assertEquals removed, {15, false, f}
134+
ut\assertEquals tbl, {"a", {"test"}}
135+
136+
removeWhere: (ut, tbls, f) ->
137+
tbl = util.copy tbls.mixedList
138+
removed, rmCnt = functional.list.removeWhere tbl, (v, i) ->
139+
type(v) == "string" or i == 2
140+
ut\assertEquals rmCnt, 2
141+
ut\assertEquals removed, {"a", 15}
142+
ut\assertEquals tbl, {false, {"test"}, f}
143+
144+
slice: (ut, tbls) ->
145+
sliced = functional.list.slice tbls.joinedList, 7, -1
146+
ut\assertIsNot sliced, tbls.joinedList
147+
ut\assertEquals sliced, tbls.contList
148+
149+
trimEnd: (ut, tbls) ->
150+
trimmed = util.copy tbls.joinedList
151+
removed, rmCnt = functional.list.trim trimmed, nil, 6
152+
ut\assertEquals rmCnt, 4
153+
ut\assertEquals removed, tbls.contList
154+
ut\assertEquals trimmed, tbls.numbersList
155+
156+
trimBoth: (ut, tbls) ->
157+
trimmed = util.copy tbls.joinedList
158+
removed, rmCnt = functional.list.trim trimmed, 6, -3
159+
ut\assertEquals rmCnt, 7
160+
ut\assertEquals removed, {10, 11, 12, 13, 14, "c", "d"}
161+
ut\assertEquals trimmed, {15, "a", "b"}
162+
163+
uniq: (ut, tbls) ->
164+
unique, u = functional.list.uniq tbls.repeatList
165+
ut\assertEquals u, #tbls.contList
166+
ut\assertEquals unique, tbls.contList
167+
168+
uniqCallback: (ut, tbls) ->
169+
unique, u = functional.list.uniq tbls.numbersList, (v) -> math.floor v/2
170+
ut\assertEquals u, 3
171+
ut\assertEquals, unique, {5, 6, 7}
172+
173+
_order: {"makeSetDef", "makeSetInline", "compact", "chunk", "diff", "filter", "find", "findInRange",
174+
"indexBy", "indexOf", "lastIndexOf", "intersect", "join", "joinInto", "removeRange", "removeIndexes",
175+
"removeValues", "slice", "trimEnd", "trimBoth", "map", "mapCompact", "reduce", "pluck",
176+
"uniq", "uniqCallback", "listMetaType", "removeWhere"}
177+
}
178+
}

0 commit comments

Comments
 (0)