nx_gate_verdict_plan_gate.nx source
↩ module page · 29 lines · 1856 B
1// Qualification of named test-plan completeness, independent of publisher behavior.
2import "nx_gate_verdict.nx"
3func main(argc: i64, argv: *i64) -> i64 {
4 let c: *i64 = gv_ctr()
5 let suite: *i64 = gv_plan_new("complete-out-of-order\nmissing-case\nduplicate-execution\nundeclared-case\nduplicate-declaration\nempty-plan\nunterminated-plan\nempty-case\n" as *u8)
6 let good: *i64 = gv_plan_new("a\nb\n" as *u8)
7 gv_plan_take(good,"b" as *u8); gv_plan_take(good,"a" as *u8)
8 gv_plan_check(suite,"complete-out-of-order" as *u8,gv_plan_complete(good),c)
9 let missing: *i64 = gv_plan_new("a\nb\n" as *u8)
10 gv_plan_take(missing,"a" as *u8)
11 gv_plan_check(suite,"missing-case" as *u8,gv_plan_complete(missing)==0,c)
12 let duplicate: *i64 = gv_plan_new("a\n" as *u8)
13 gv_plan_take(duplicate,"a" as *u8); gv_plan_take(duplicate,"a" as *u8)
14 gv_plan_check(suite,"duplicate-execution" as *u8,gv_plan_complete(duplicate)==0,c)
15 let unknown: *i64 = gv_plan_new("a\n" as *u8)
16 gv_plan_take(unknown,"a" as *u8); gv_plan_take(unknown,"other" as *u8)
17 gv_plan_check(suite,"undeclared-case" as *u8,gv_plan_complete(unknown)==0,c)
18 let repeat: *i64 = gv_plan_new("a\na\n" as *u8)
19 gv_plan_check(suite,"duplicate-declaration" as *u8,repeat[1]==0,c)
20 let empty: *i64 = gv_plan_new("" as *u8)
21 gv_plan_check(suite,"empty-plan" as *u8,gv_plan_complete(empty)==0,c)
22 let unterminated: *i64 = gv_plan_new("a\nb" as *u8)
23 gv_plan_take(unterminated,"a" as *u8)
24 gv_plan_check(suite,"unterminated-plan" as *u8,gv_plan_complete(unterminated)==0,c)
25 let blank: *i64 = gv_plan_new("a\n\n" as *u8)
26 gv_plan_check(suite,"empty-case" as *u8,blank[1]==0,c)
27 gv_plan_finish(suite,c)
28 return gv_verdict("NAMED-PLAN-GATE" as *u8,c,"Intentional missing, duplicate and undeclared cases must refuse completeness." as *u8)
29}