From d5f10bc3f225db4d68f97b1d550cdf0a4e2e4c11 Mon Sep 17 00:00:00 2001
From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch>
Date: Tue, 7 Jul 2015 17:55:44 +0200
Subject: [PATCH] Forgotten testcase

---
 .../purescala/valid/Methods.scala             | 29 +++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 src/test/resources/regression/verification/purescala/valid/Methods.scala

diff --git a/src/test/resources/regression/verification/purescala/valid/Methods.scala b/src/test/resources/regression/verification/purescala/valid/Methods.scala
new file mode 100644
index 000000000..e3c71b2a5
--- /dev/null
+++ b/src/test/resources/regression/verification/purescala/valid/Methods.scala
@@ -0,0 +1,29 @@
+import leon.lang._
+
+object Methods {
+  abstract class A
+
+  abstract class B extends A {
+    def foo(i: BigInt) = {
+      require(i > 0)
+      i + 1
+    } ensuring ( _ >= 0 )
+  }
+  
+  case class C(x: BigInt) extends B {
+    val y = BigInt(42)
+    override def foo(i: BigInt) = {
+      x + y + (if (i>0) i else -i)
+    } ensuring ( _ >= x )
+  }
+
+  case class E() extends B
+
+  case class D() extends A
+
+  def f1 = {
+    val c = C(42)
+    (if (c.foo(0) + c.x > 0) c else D()).isInstanceOf[B]
+  }.holds
+
+}
-- 
GitLab