From 64af689e6659ab170826508f37720ee6e54386fa Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Tue, 10 Feb 2009 23:46:39 +0000 Subject: moved most of the passing tests from pending to... moved most of the passing tests from pending to files ; reunited inner.scala with inner.check --- test/files/run/complicatedmatch.check | 6 ++++++ test/files/run/complicatedmatch.scala | 31 +++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 test/files/run/complicatedmatch.check create mode 100644 test/files/run/complicatedmatch.scala (limited to 'test/files/run') diff --git a/test/files/run/complicatedmatch.check b/test/files/run/complicatedmatch.check new file mode 100644 index 0000000000..501b7a32d6 --- /dev/null +++ b/test/files/run/complicatedmatch.check @@ -0,0 +1,6 @@ +1 +42 +42 +11 +7 +13 diff --git a/test/files/run/complicatedmatch.scala b/test/files/run/complicatedmatch.scala new file mode 100644 index 0000000000..c837c328b3 --- /dev/null +++ b/test/files/run/complicatedmatch.scala @@ -0,0 +1,31 @@ +object Bar{ + def unapply(x : String) = x == "bar"; +} + +object Even{ + def unapply(x : Int) = if (x % 2 == 0) Some(x / 2) else None; +} + +object Test extends Application{ + val LongWord = "supercalifragilisticexpialadocious"; + + def foo(x : Int, y : String) : Int = (x, y) match { + case (Even(i), "bar") => 1 + case (1 | 2 | 3, "foo") => 42; + case (x, y) if y.length < x => 11; + case (1 | 2 | 3, Bar()) => 7; + case (1 | 2 | 3, "bar") => 8 + case (Even(Even(3)), Bar()) => 13; + case (Even(Even(3)), LongWord) => 13; + case _ => 0; + } + + List( + 2 -> "bar", + 2 -> "foo", + 3 -> "foo", + 7 -> "flob", + 3 -> "bar", + 12 -> LongWord + ).foreach({case (x, y) => println(foo(x, y))}); +} -- cgit v1.2.3