test/Tools/isac/ADDTESTS/libisabelle/protocol.sml
author Walther Neuper <walther.neuper@jku.at>
Fri, 01 May 2020 15:28:40 +0200
changeset 59921 0766dade4a78
parent 59465 b33dc41f4350
child 59974 712fcbae5f9f
permissions -rw-r--r--
separate Solve_Step.check, repair ALL of Test_Isac_Short
wneuper@59175
     1
(* Title:  tests for libisabelle/libisabelle/src/main/isabelle/Protocol/Protocol.thy
wneuper@59175
     2
   Author: Walther Neuper 2015
wneuper@59175
     3
   (c) due to copyright terms
wneuper@59175
     4
wneuper@59465
     5
theory Test_Some imports Isac.Build_Thydata begin 
wneuper@59175
     6
ML {* KEStore_Elems.set_ref_thy @{theory};
wneuper@59175
     7
  fun autoCalculate' cI auto = autoCalculate cI auto (*|> Future.join*) *}
wneuper@59176
     8
ML_file "~~/test/Tools/isac/ADDTESTS/libisabelle/protocol.sml"
wneuper@59175
     9
*)
wneuper@59175
    10
wneuper@59175
    11
(* NOTE: Protocol.thy still belongs to a different development at
wneuper@59175
    12
     https://github.com/wneuper/libisabelle
wneuper@59175
    13
but Protocol.thy is enclosed in isabisac for testing synchronisation, 
wneuper@59175
    14
see Build_Isac.thy *)
wneuper@59175
    15
wneuper@59175
    16
"-----------------------------------------------------------------------------";
wneuper@59175
    17
"table of contents -----------------------------------------------------------";
wneuper@59175
    18
"-----------------------------------------------------------------------------";
wneuper@59175
    19
"----------- fun initContext, fun initcontext_pbl, fun initcontext_met -------";
wneuper@59175
    20
"-----------------------------------------------------------------------------";
wneuper@59175
    21
"-----------------------------------------------------------------------------";
wneuper@59175
    22
"-----------------------------------------------------------------------------";
wneuper@59175
    23
wneuper@59175
    24
"----------- fun initContext, fun initcontext_pbl, fun initcontext_met -------";
wneuper@59175
    25
"----------- fun initContext, fun initcontext_pbl, fun initcontext_met -------";
wneuper@59412
    26
"----------- fun initContext, fun initcontext_pbl, fun initcontext_met -------";
wneuper@59175
    27
(* compare isac-java/src/java-tests/isac/bridge/TestContext#testContext *)
wneuper@59175
    28
reset_states ();
wneuper@59175
    29
CalcTree [(["equality (x + 1 = (2::real))", "solveFor x", "solutions L"],
wneuper@59175
    30
  ("Test",["sqroot-test","univariate","equation","test"],["Test","squ-equ-test-subpbl1"]))];
wneuper@59175
    31
moveActiveRoot 1;
wneuper@59248
    32
autoCalculate 1 CompleteCalc;
wneuper@59175
    33
walther@59921
    34
(*/----- BROKEN WITH CHILD OF 33913fe24685, dropped as irrelevant for PIDE --\* )
wneuper@59175
    35
(*-->ISA: initContext 1 Thy_ ([1],Frm);  *)
wneuper@59175
    36
val out = initContext 1 Thy_ ([1],Frm);
wneuper@59175
    37
if cut_xml out 105 = 
wneuper@59175
    38
"(CONTEXTTHY)\n. (CALCID)\n. . 1\n. (/CALCID)\n. (CONTEXTDATA)\n. . (GUH)\n. . . thy_isac_Test-rls-norm_equation"
wneuper@59175
    39
then () else error "initContext 1 Thy_ ([1],Frm); CHANGED";
wneuper@59175
    40
wneuper@59175
    41
(*-->ISA: initContext 1 Thy_ ([1],Res);  *)
wneuper@59175
    42
val out = initContext 1 Thy_ ([1],Res);
wneuper@59175
    43
if cut_xml out 105 = 
wneuper@59175
    44
"(CONTEXTTHY)\n. (CALCID)\n. . 1\n. (/CALCID)\n. (CONTEXTDATA)\n. . (GUH)\n. . . thy_isac_Test-rls-Test_simplify"
wneuper@59175
    45
then () else error "initContext 1 Thy_ ([1],Res); CHANGED";
wneuper@59175
    46
wneuper@59175
    47
val ((pt, _), _) = get_calc 1;
wneuper@59175
    48
wneuper@59175
    49
(*-->ISA: initContext 1 Pbl_ ([1],Res);  *)
wneuper@59175
    50
val (p, p_) = ([1], Res)
wneuper@59175
    51
val pp = par_pblobj pt p
wneuper@59175
    52
val chd = initcontext_pbl pt (pp,p_)
wneuper@59175
    53
val out = contextpblOK2xml 1 chd;
wneuper@59175
    54
if cut_xml out 100 = "(CONTEXTPBL)\n. (CALCID)\n. . 1\n. (/CALCID)\n. (CONTEXTDATA)\n. . (GUH)\n. . . pbl_test_uni_roottest\n. . "
wneuper@59175
    55
then () else error "initContext 1 Pbl_ ([1],Res); CHANGED";
wneuper@59175
    56
wneuper@59175
    57
(*-->ISA: initContext 1 Pbl_ ([3,1],Res); *)
wneuper@59175
    58
val (p, p_) = ([3, 1], Res)
wneuper@59175
    59
val pp = par_pblobj pt p
wneuper@59175
    60
val chd = initcontext_pbl pt (pp,p_)
wneuper@59175
    61
val out = contextpblOK2xml 1 chd;
wneuper@59175
    62
if cut_xml out 90 = 
wneuper@59175
    63
"(CONTEXTPBL)\n. (CALCID)\n. . 1\n. (/CALCID)\n. (CONTEXTDATA)\n. . (GUH)\n. . . pbl_test_uni_lin"
wneuper@59175
    64
then () else error "initContext 1 Pbl_ ([3,1],Res); CHANGED";
wneuper@59175
    65
wneuper@59175
    66
(*-->ISA: initContext 1 Met_ ([1],Res); *)
wneuper@59175
    67
val (p, p_) = ([1], Res)
wneuper@59175
    68
(*interface.sml*)val pp = par_pblobj pt p
wneuper@59175
    69
(*interface.sml*)val chd = initcontext_met pt (pp, p_);
wneuper@59175
    70
val out = contextmetOK2xml 1 chd; (*ERROR was pblID2guh: not for '[Test,squ-equ-test-subpbl1]'*)
wneuper@59175
    71
"~~~~~ fun contextmetOK2xml, args:"; val (calcid, contmet) = (1, chd);
wneuper@59175
    72
"~~~~~ fun xml_of_matchmet, args:"; val (model_ok, pI, scr, pbl, pre) = (contmet);
wneuper@59175
    73
if metID2guh pI = 
wneuper@59175
    74
"met_test_squ_sub" then () else error "xml_of_matchmet CHANGED";
wneuper@59175
    75
if cut_xml out 90 = "(CONTEXTMET)\n. (CALCID)\n. . 1\n. (/CALCID)\n. (CONTEXTDATA)\n. . (GUH)\n. . . met_test_squ_sub"
wneuper@59175
    76
then () else error "initContext 1 Met_ ([1],Res); CHANGED";
wneuper@59175
    77
wneuper@59175
    78
(*-->ISA: initContext 1 Met_ ([3,1],Res); *)
wneuper@59175
    79
val (p, p_) = ([3,1],Res)
wneuper@59175
    80
(*interface.sml*)val pp = par_pblobj pt p
wneuper@59175
    81
(*interface.sml*)val chd = initcontext_met pt (pp, p_);
wneuper@59175
    82
val out = contextmetOK2xml 1 chd;
wneuper@59175
    83
if cut_xml out 91 = "(CONTEXTMET)\n. (CALCID)\n. . 1\n. (/CALCID)\n. (CONTEXTDATA)\n. . (GUH)\n. . . met_test_solvelin"
wneuper@59175
    84
then () else error "initContext 1 Met_ ([3,1],Res); CHANGED";
wneuper@59175
    85
"~~~~~ fun operation_setup init_ctxt, args:"; val (intree) = 
wneuper@59175
    86
  XML.Elem (("INITCONTEXT", []), [
wneuper@59175
    87
    XML.Elem (("CALCID", []), [XML.Text "1"]),
wneuper@59175
    88
    XML.Elem (("KETYPE", []), [XML.Text "met"]),
wneuper@59175
    89
    XML.Elem (("POSITION", []), [
wneuper@59175
    90
      XML.Elem (("INTLIST", []), [
wneuper@59175
    91
        XML.Elem (("INT", []), [XML.Text "3"]),
wneuper@59175
    92
        XML.Elem (("INT", []), [XML.Text "1"])]),
wneuper@59175
    93
      XML.Elem (("POS", []), [XML.Text "Res"])])])
wneuper@59175
    94
fun xxxxx () = (fn intree => 
wneuper@59175
    95
	 ((let 
wneuper@59175
    96
	   val (ci, ketype, pos) = case intree of
wneuper@59175
    97
       XML.Elem (("INITCONTEXT", []), [
wneuper@59175
    98
         XML.Elem (("CALCID", []), [XML.Text ci]),
wneuper@59175
    99
         ketype as XML.Elem (("KETYPE", []), _),
wneuper@59175
   100
         pos as XML.Elem (("POSITION", []), _)]) 
wneuper@59395
   101
     => (int_of_str ci, xml_to_ketype ketype, xml_to_pos pos)
wneuper@59175
   102
     | tree => raise ERROR ("init_ctxt: WRONG intree = " ^ xmlstr 0 tree)
wneuper@59261
   103
     val result = initContext ci ketype pos
wneuper@59175
   104
	 in result end)
wneuper@59175
   105
	 handle ERROR msg => sysERROR2xml 4711 msg)
wneuper@59175
   106
	   handle _  => sysERROR2xml 4711 "Protocol.operation_setup init_ctxt UNKNOWN exn")
wneuper@59175
   107
val out = xxxxx () intree;
wneuper@59175
   108
if cut_xml out 91 = "(CONTEXTMET)\n. (CALCID)\n. . 1\n. (/CALCID)\n. (CONTEXTDATA)\n. . (GUH)\n. . . met_test_solvelin"
wneuper@59175
   109
then () else error "operation_setup initContext 1 Met_ ([3,1],Res); CHANGED";
walther@59921
   110
( *\----- BROKEN WITH CHILD OF 33913fe24685 ---------------------------------------------------/*)
wneuper@59175
   111