From 16150aa7d0c9bc12954b5139d53c7bb485e1fa06 Mon Sep 17 00:00:00 2001 From: Jan Gruteser <jan.gruteser@hhu.de> Date: Mon, 13 Jan 2025 09:56:08 +0100 Subject: [PATCH] add ignored test for nested Real definitions --- .../standardmodules/TestModuleNaturals.java | 13 +++++++++++++ .../standardmodules/TestModuleReals.java | 17 ++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/test/java/de/tla2b/typechecking/standardmodules/TestModuleNaturals.java b/src/test/java/de/tla2b/typechecking/standardmodules/TestModuleNaturals.java index 6fa6a8b..0d134ea 100644 --- a/src/test/java/de/tla2b/typechecking/standardmodules/TestModuleNaturals.java +++ b/src/test/java/de/tla2b/typechecking/standardmodules/TestModuleNaturals.java @@ -115,4 +115,17 @@ public class TestModuleNaturals { TestUtil.typeCheckString(module); } + @Test + public void testNestedDefinitions() throws Exception { + String module = "---- MODULE Testing ----\n" + + "EXTENDS Naturals \n" + + "InnerDef(b) == b*5 \n" + + "HelpDef(a,b) == a+b \n" + + "Init == 1 = HelpDef(1,1) \n" + + "==============="; + TestTypeChecker t = TestUtil.typeCheckString(module); + assertEquals("INTEGER", t.getDefinitionType("HelpDef")); + assertEquals("INTEGER", t.getDefinitionType("InnerDef")); + } + } diff --git a/src/test/java/de/tla2b/typechecking/standardmodules/TestModuleReals.java b/src/test/java/de/tla2b/typechecking/standardmodules/TestModuleReals.java index 4ba3f0e..8b4cf34 100644 --- a/src/test/java/de/tla2b/typechecking/standardmodules/TestModuleReals.java +++ b/src/test/java/de/tla2b/typechecking/standardmodules/TestModuleReals.java @@ -4,11 +4,11 @@ import de.tla2b.exceptions.TLA2BException; import de.tla2b.exceptions.TypeErrorException; import de.tla2b.util.TestTypeChecker; import de.tla2b.util.TestUtil; +import org.junit.Ignore; import org.junit.Test; import static org.junit.Assert.assertEquals; - public class TestModuleReals { /* @@ -172,4 +172,19 @@ public class TestModuleReals { + "================================="; TestUtil.typeCheckString(module); } + + @Ignore + @Test + public void testNestedDefinitions() throws Exception { + // FIXME: this fails because the default type is Int and we first type everything as Int + String module = "---- MODULE Testing ----\n" + + "EXTENDS Reals \n" + + "InnerDef(b) == b*5.0 \n" + + "HelpDef(a,b) == a+InnerDef(b) \n" + + "Init == 1.0 = HelpDef(1.0,1.0) \n" + + "==============="; + TestTypeChecker t = TestUtil.typeCheckString(module); + assertEquals("REAL", t.getDefinitionType("HelpDef")); + assertEquals("REAL", t.getDefinitionType("InnerDef")); + } } -- GitLab