MCPcopy
hub / github.com/google/mangle / TestDeferred

Function TestDeferred

analysis/validation_test.go:906–925  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

904}
905
906func TestDeferred(t *testing.T) {
907 clauses := []ast.Clause{
908 clause(`
909missing_required(RequiredList, EnabledList, Witness) :-
910 :list:member(Witness, RequiredList),
911 !:list:member(Witness, EnabledList).`),
912 }
913
914 missingRequiredDecl, err := ast.NewDecl(atom("missing_required(EnabledList, RequiredList, Witness)"), []ast.Atom{
915 atom("mode('+', '+', '-')"),
916 atom("deferred()"),
917 }, nil, nil)
918 if err != nil {
919 t.Fatal(err)
920 }
921 decls := []ast.Decl{missingRequiredDecl}
922 if _, err := AnalyzeOneUnit(parse.SourceUnit{Clauses: clauses, Decls: decls}, nil); err != nil {
923 t.Errorf("Analysis for deferred predicate failed: %v", err)
924 }
925}
926
927func TestBoundsAnalyzerWithNames(t *testing.T) {
928 test := newBoundsTestCaseWithNameTrie(t, []ast.Clause{

Callers

nothing calls this directly

Calls 4

NewDeclFunction · 0.92
AnalyzeOneUnitFunction · 0.85
clauseFunction · 0.70
atomFunction · 0.70

Tested by

no test coverage detected