This repository has been archived by the owner on Jul 1, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathflag test.dscript
96 lines (80 loc) · 2.83 KB
/
flag test.dscript
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
## Include any script assets (such as item scripts/inventory scripts/etc.)
## that the unit test will need in order to test.
Flag Unit Test:
type: world
debug: false
speed: 0
## Include this exact statement for each unit test
events:
on server start:
- if <server.flag[unit_tasks].as_list> !contains <script> flag server unit_tasks:->:<script>
script:
## Do this for each unit test
- define output "s@Unit Test Write Output"
- run 's@Unit Test Create Output' 'd:<script.name>'
## Do this for each 'section' you intend to test,
## changing the definition to something appropriate
- run "s@Unit Test Set Prefix" 'def:mechanics'
- if '<s@constant tag tester.constant[test script constant]>' == 'expected value'
run %output% 'def:element value|Pass'
else run %output% 'def:element value|Fail'
# Test basic 1-item flag
- flag test:test
- flag global test:test
- if <player.flag[test]> == test
&& <server.flag[test]> == test
run %output% 'def:1_item|Pass'
else run %output% 'def:1_item|Fail'
- flag test:!
- flag global test:!
# Test boolean flag
- flag test
- flag global test
- if <player.flag[test]> == true
&& <player.flag[test]> == true
run %output% 'def:boolean|Pass'
else run %output% 'def:boolean|Fail'
- flag test:!
- flag global test:!
# Test flag array
- flag test:->:test1
- flag test:->:test2
- flag test:->:test3
- flag global test:->:test1
- flag global test:->:test2
- flag global test:->:test3
- if <player.flag[test]> == test3
&& <server.flag[test]> == test3
run %output% 'def:array_last|Pass'
else run %output% 'def:array_last|Fail'
# Test flag fetch from array
- if <player.flag[test].get[2]> == test2
&& <server.flag[test].get[2]> == test2
run %output% 'def:array_fetch|Pass'
else run %output% 'def:array_fetch|Fail'
# Test flag as_list
- if <player.flag[test].as_list> == li@test1|test2|test3
&& <server.flag[test].as_list> == li@test1|test2|test3
run %output% 'def:as_list|Pass'
else run %output% 'def:as_list|Fail'
# Test flag size
- if <player.flag[test].size> == 3
&& <server.flag[test].size> == 3
run %output% 'def:size|Pass'
else run %output% 'def:size|Fail'
# Test flag is_expired
- if <player.flag[test].is_expired> == false
&& <server.flag[test].is_expired> == false
run %output% 'def:expired|Pass'
else run %output% 'def:expired|Fail'
# Test flag item removal
- flag test:->:test1
- flag test:<-:test1
- flag global test:->:test1
- flag global test:<-:test1
- if <player.flag[test].as_list> == li@test2|test3|test1
&& <server.flag[test].as_list> == li@test2|test3|test1
run %output% 'def:array_removeal|Pass'
else run %output% 'def:array_removal|Fail'
- flag test:!
- flag global test:!