Skip to content
Snippets Groups Projects
cool-testsuite.ml 1.32 KiB
Newer Older
  • Learn to ignore specific revisions
  • open CoolUtils
    open Testsuite
    module CF = CoAlgFormula
    module CR = CoAlgReasoner
    module CM = CoAlgMisc
    module L = List
    
    let k   = [| (CM.MultiModalK,  [0]) |]
    let kd  = [| (CM.MultiModalKD, [0]) |]
    let cl  = [| (CM.CoalitionLogic, [0]) |]
    let gml = [| (CM.GML, [0]) |]
    
    
    (* ============ multi modal K ============ *)
    let k_testcases: satCheck list =
        let c a b = (a,k,b) in
        [ c Sat   "True"
        ; c Unsat "False"
        ; c ParseError  "{Fsdf"
        (*; c ParseError  "Fsdf}" *)
    
    Thorsten Wißmann's avatar
    Thorsten Wißmann committed
        ; c Unsat "<R> True & [R] False"
        ; c Unsat "C |- <R> ~C"
        ; c Sat   "C |- [R] ~C"
        ]
    
    
    
    let nominal_testcases =
        let c a b = (a,k,b) in
        [ c Sat "@ i' <r> p"
        ; c Sat "@ i' <r>  i'"
        ; c Unsat "@ i' <r>  i' & @i' [r] ~ i'"
        ; c Sat "@ i' [r] (@ i' (~i')) "
        ]
    
    
    Thorsten Wißmann's avatar
    Thorsten Wißmann committed
    let kd_testcases =
        let c a b = (a,kd,b) in
        [ c Sat   "True"
        ; c Unsat "False"
        ; c ParseError  "{Fsdf"
        (*; c ParseError  "Fsdf}" *)
        ; c Unsat "<R> True & [R] False"
        ; c Unsat "C |- <R> ~C"
        ; c Unsat "C |- [R] ~C"
        ]
    
    let testcases =
        let c name table = (name,table) in
        [ c "K"  k_testcases
    
        ; c "Nominals" nominal_testcases
    
    Thorsten Wißmann's avatar
    Thorsten Wißmann committed
        ; c "KD" kd_testcases
    
    let main =
    
    Thorsten Wißmann's avatar
    Thorsten Wißmann committed
        foreach_l testcases (fun (name,table) ->
    
            Printf.printf "\n==== Testing %s ====\n" name;
    
    Thorsten Wißmann's avatar
    Thorsten Wißmann committed
            foreach_l table runSatCheckVerbose