From 2b35cd585c5126450cdad8c1e3720bb28756f612 Mon Sep 17 00:00:00 2001
From: Katja Goltsova <katja.goltsova@protonmail.com>
Date: Thu, 29 Sep 2022 19:32:56 +0200
Subject: [PATCH] Factor out common implicits and FOL values into test utils

---
 .../test/scala/lisa/utils/ParserTest.scala    | 18 +---------------
 .../test/scala/lisa/utils/PrinterTest.scala   |  8 +------
 .../src/test/scala/lisa/utils/TestUtils.scala | 21 +++++++++++++++++++
 3 files changed, 23 insertions(+), 24 deletions(-)
 create mode 100644 lisa-utils/src/test/scala/lisa/utils/TestUtils.scala

diff --git a/lisa-utils/src/test/scala/lisa/utils/ParserTest.scala b/lisa-utils/src/test/scala/lisa/utils/ParserTest.scala
index a9ad6501..a50463d0 100644
--- a/lisa-utils/src/test/scala/lisa/utils/ParserTest.scala
+++ b/lisa-utils/src/test/scala/lisa/utils/ParserTest.scala
@@ -5,23 +5,7 @@ import lisa.kernel.proof.SequentCalculus.Sequent
 import lisa.utils.Helpers.*
 import org.scalatest.funsuite.AnyFunSuite
 
-class ParserTest extends AnyFunSuite {
-
-  val (a, b, c) = (ConstantPredicateLabel("a", 0), ConstantPredicateLabel("b", 0), ConstantPredicateLabel("c", 0))
-  val (x, y, z) = (VariableLabel("x"), VariableLabel("y"), VariableLabel("z"))
-  val (x1, y1, z1) = (VariableLabel("x1"), VariableLabel("y1"), VariableLabel("z1"))
-  val (xPrime, yPrime, zPrime) = (VariableLabel("x'"), VariableLabel("y'"), VariableLabel("z'"))
-  val (cx, cy, cz) = (ConstantFunctionLabel("x", 0), ConstantFunctionLabel("y", 0), ConstantFunctionLabel("z", 0))
-  val (f0, f1, f2, f3) = (ConstantFunctionLabel("f", 0), ConstantFunctionLabel("f", 1), ConstantFunctionLabel("f", 2), ConstantFunctionLabel("f", 3))
-  val (sf1, sf2, sf3) = (SchematicFunctionLabel("f", 1), SchematicFunctionLabel("f", 2), SchematicFunctionLabel("f", 3))
-  val (sPhi1, sPhi2) = (SchematicNPredicateLabel("phi", 1), SchematicNPredicateLabel("phi", 2))
-
-  given Conversion[PredicateLabel, PredicateFormula] = PredicateFormula(_, Seq.empty)
-
-  given Conversion[ConstantFunctionLabel, FunctionTerm] = FunctionTerm(_, Seq())
-
-  given Conversion[VariableLabel, VariableTerm] = VariableTerm.apply
-
+class ParserTest extends AnyFunSuite with TestUtils {
   test("constant") {
     assert(Parser.parseTerm("x") == FunctionTerm(cx, Seq()))
   }
diff --git a/lisa-utils/src/test/scala/lisa/utils/PrinterTest.scala b/lisa-utils/src/test/scala/lisa/utils/PrinterTest.scala
index 7b6207ec..b517ac86 100644
--- a/lisa-utils/src/test/scala/lisa/utils/PrinterTest.scala
+++ b/lisa-utils/src/test/scala/lisa/utils/PrinterTest.scala
@@ -7,13 +7,7 @@ import org.scalatest.funsuite.AnyFunSuite
 
 import scala.language.adhocExtensions
 
-class PrinterTest extends AnyFunSuite {
-
-  val (a, b, c) = (ConstantPredicateLabel("a", 0), ConstantPredicateLabel("b", 0), ConstantPredicateLabel("c", 0))
-  val (x, y, z) = (VariableLabel("x"), VariableLabel("y"), VariableLabel("z"))
-
-  given Conversion[PredicateLabel, PredicateFormula] = PredicateFormula(_, Seq.empty)
-  given Conversion[VariableLabel, VariableTerm] = VariableTerm.apply
+class PrinterTest extends AnyFunSuite with TestUtils {
 
   test("Minimal parenthesization") {
     assert(Parser.printFormula(ConnectorFormula(And, Seq(a, b))) == "a ∧ b")
diff --git a/lisa-utils/src/test/scala/lisa/utils/TestUtils.scala b/lisa-utils/src/test/scala/lisa/utils/TestUtils.scala
new file mode 100644
index 00000000..93976742
--- /dev/null
+++ b/lisa-utils/src/test/scala/lisa/utils/TestUtils.scala
@@ -0,0 +1,21 @@
+package lisa.utils
+
+import lisa.kernel.fol.FOL._
+import lisa.utils.Helpers.*
+
+trait TestUtils {
+  val (a, b, c) = (ConstantPredicateLabel("a", 0), ConstantPredicateLabel("b", 0), ConstantPredicateLabel("c", 0))
+  val (x, y, z) = (VariableLabel("x"), VariableLabel("y"), VariableLabel("z"))
+  val (x1, y1, z1) = (VariableLabel("x1"), VariableLabel("y1"), VariableLabel("z1"))
+  val (xPrime, yPrime, zPrime) = (VariableLabel("x'"), VariableLabel("y'"), VariableLabel("z'"))
+  val (cx, cy, cz) = (ConstantFunctionLabel("x", 0), ConstantFunctionLabel("y", 0), ConstantFunctionLabel("z", 0))
+  val (f0, f1, f2, f3) = (ConstantFunctionLabel("f", 0), ConstantFunctionLabel("f", 1), ConstantFunctionLabel("f", 2), ConstantFunctionLabel("f", 3))
+  val (sf1, sf2, sf3) = (SchematicFunctionLabel("f", 1), SchematicFunctionLabel("f", 2), SchematicFunctionLabel("f", 3))
+  val (sPhi1, sPhi2) = (SchematicNPredicateLabel("phi", 1), SchematicNPredicateLabel("phi", 2))
+
+  given Conversion[PredicateLabel, PredicateFormula] = PredicateFormula(_, Seq.empty)
+
+  given Conversion[ConstantFunctionLabel, FunctionTerm] = FunctionTerm(_, Seq())
+
+  given Conversion[VariableLabel, VariableTerm] = VariableTerm.apply
+}
-- 
GitLab