forked from livecode/livecode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcombine.livecodescript
More file actions
123 lines (86 loc) · 3.59 KB
/
Copy pathcombine.livecodescript
File metadata and controls
123 lines (86 loc) · 3.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
script "CoreArrayCombine"
/*
Copyright (C) 2015 LiveCode Ltd.
This file is part of LiveCode.
LiveCode is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License v3 as published by the Free
Software Foundation.
LiveCode is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LiveCode. If not see <http://www.gnu.org/licenses/>. */
on TestCombineStrings
local tArray, tKeyList, tKeys, tValues
local tUncombinedData
put testArrayData("stringKeys") into tKeys
put testArrayData("stringValues") into tValues
repeat with x = 1 to the number of items in tKeys
put item x of tValues into tArray[item x of tKeys]
put item x of tKeys & tab & item x of tValues & return after tUncombinedData
end repeat
delete the last character of tUncombinedData
combine tArray with return and tab
sort lines of tArray by item 1 of each
sort lines of tUncombinedData by item 1 of each
TestAssert "Combine strings", tUncombinedData is tArray
end TestCombineStrings
on TestCombineNumbers
local tArray, tKeyList
local tUncombinedData
repeat with x = 1 to 5
put x into tArray[x]
put x & tab & x & return after tUncombinedData
end repeat
delete the last character of tUncombinedData
combine tArray with return and tab
TestAssert "Combine numbers", tUncombinedData is tArray
end TestCombineNumbers
on TestCombineMixed
local tArray, tKeyList, tKeys, tValues
local tUncombinedData
put testArrayData("stringKeys") into tKeys
put testArrayData("stringValues") into tValues
repeat with x = 1 to the number of items in tKeys
put item x of tValues into tArray[item x of tKeys]
put item x of tKeys & tab & item x of tValues & return after tUncombinedData
end repeat
repeat with x = 1 to 5
put x into tArray[x]
put x & tab & x & return after tUncombinedData
end repeat
delete the last character of tUncombinedData
combine tArray with return and tab
sort lines of tArray by item 1 of each
sort lines of tUncombinedData by item 1 of each
TestAssert "Combine numbers and strings", tUncombinedData is tArray
end TestCombineMixed
on TestArrayCombineByRow
local tArray, tKeyList, tValues
local tUncombinedData
put testArrayData("stringValues") into tValues
repeat with x = 1 to the number of items in tValues
put item x of tValues into tArray[x]
put item x of tValues & the rowDelimiter after tUncombinedData
end repeat
delete the last character of tUncombinedData
combine tArray by row
sort lines of tArray by item 1 of each
sort lines of tUncombinedData by item 1 of each
TestAssert "Combine by row", tUncombinedData is tArray
end TestArrayCombineByRow
on TestArrayCombineByColumn
local tArray, tKeyList, tValues
local tUncombinedData
put testArrayData("stringValues") into tValues
repeat with x = 1 to the number of items in tValues
put item x of tValues into tArray[x]
put item x of tValues & the columnDelimiter after tUncombinedData
end repeat
delete the last character of tUncombinedData
combine tArray by column
sort lines of tArray by item 1 of each
sort lines of tUncombinedData by item 1 of each
TestAssert "Combine by column", tUncombinedData is tArray
end TestArrayCombineByColumn