code wiki / (root) / nx_gate_verdict_plan_gate.nx

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}