isac-java/src/java-tests/isac/gui/mawen/syntax/ScalaAstFromString.scala
author Walther Neuper <walther.neuper@jku.at>
Fri, 26 Mar 2021 10:45:05 +0100
changeset 5239 b4e3883d7b66
parent 5229 6bf0e95981e3
permissions -rw-r--r--
reset mathematics-engine to Isabelle2015

note: for this version libisabelle was available,
which connects front-end (Java) and back-end (Isabelle/ML)
wneuper@5074
     1
/**
wneuper@5074
     2
 * @author Walther Neuper
wneuper@5074
     3
 * Created on Mar 30, 2017
wneuper@5074
     4
 * (c) due to copyright terms
wneuper@5074
     5
 */
wneuper@5074
     6
wneuper@5074
     7
package isac.gui.mawen.syntax
wneuper@5074
     8
wneuper@5074
     9
import isac.bridge.Isabelle_Isac
wneuper@5074
    10
import isac.bridge.xml.DataTypes
wneuper@5085
    11
import isac.gui.mawen.syntax.Ast._   //"._" simplifies "Ast.Ast" to "Ast"
walther@5239
    12
import edu.tum.cs.isabelle.japi._    // for JSystem
wneuper@5074
    13
wneuper@5074
    14
import junit.framework.TestCase
wneuper@5074
    15
import org.junit.Assert._
wneuper@5074
    16
wneuper@5130
    17
/** 
wneuper@5130
    18
 * Create libisabelle's Scala Ast from String for tests.
wneuper@5130
    19
 * Compare ScalaTermFromString.
wneuper@5130
    20
 */
wneuper@5074
    21
class ScalaAstFromString extends TestCase {
wneuper@5074
    22
  
wneuper@5150
    23
  var sys_ : JSystem = null
wneuper@5150
    24
  override def setUp() {
wneuper@5150
    25
    sys_ = Isabelle_Isac.connect();
wneuper@5150
    26
  }
wneuper@5074
    27
  
wneuper@5078
    28
  def test_etc() {
wneuper@5078
    29
    println("/--BEGIN isac.gui.mawen.syntax.ScalaAstFromString#test_etc");
wneuper@5078
    30
    
wneuper@5078
    31
    //numeral 123 is Ast.Variable("123")
wneuper@5078
    32
    var term_str = "123"
wneuper@5078
    33
    var tree = sys_.invoke(isac.bridge.IsacOperations.SCALATERM_OF_STRING, term_str)
wneuper@5078
    34
    var form = DataTypes.xml_to_Formula_NEW(tree)
wneuper@5078
    35
    var ast = form.getTerm
wneuper@5078
    36
    //println(Ast.raw_string_of(ast))
s1520454056@5112
    37
//    assertEquals(ast, Ast.Variable("123"))
wneuper@5104
    38
    assertEquals(term_str, Ast.math_string_of(ast))
wneuper@5078
    39
wneuper@5083
    40
    //create <code>TestDATA.box_07_with_cursor</code>
wneuper@5083
    41
    term_str = "[aaa, bbb, ccc]"
wneuper@5083
    42
    tree = sys_.invoke(isac.bridge.IsacOperations.SCALATERM_OF_STRING, term_str)
wneuper@5083
    43
    form = DataTypes.xml_to_Formula_NEW(tree)
wneuper@5083
    44
    ast = form.getTerm
wneuper@5104
    45
    assertEquals(term_str, Ast.math_string_of(ast))
wneuper@5083
    46
    
wneuper@5078
    47
    println("\\--END isac.gui.mawen.syntax.ScalaAstFromString#test_etc");
wneuper@5078
    48
  }
wneuper@5078
    49
wneuper@5150
    50
  override def tearDown() {
wneuper@5150
    51
    sys_.dispose()
wneuper@5150
    52
    super.tearDown()
wneuper@5150
    53
  }
walther@5239
    54
}