From b8e1f3bdeb622ba92b25f12a4eff35ea5f75908c Mon Sep 17 00:00:00 2001
From: Reinier Zwitserloot <reinier@zwitserloot.com>
Date: Mon, 29 Oct 2012 23:12:14 +0100
Subject: added tests for lub and val (lub = finding the common supertype, for
 example in a ternary expression).

---
 test/transform/resource/after-delombok/ValLub.java | 18 +++++++++++++++++
 test/transform/resource/after-ecj/ValLub.java      | 21 ++++++++++++++++++++
 test/transform/resource/before/ValLub.java         | 23 ++++++++++++++++++++++
 3 files changed, 62 insertions(+)
 create mode 100644 test/transform/resource/after-delombok/ValLub.java
 create mode 100644 test/transform/resource/after-ecj/ValLub.java
 create mode 100644 test/transform/resource/before/ValLub.java

(limited to 'test')

diff --git a/test/transform/resource/after-delombok/ValLub.java b/test/transform/resource/after-delombok/ValLub.java
new file mode 100644
index 00000000..d7e8f944
--- /dev/null
+++ b/test/transform/resource/after-delombok/ValLub.java
@@ -0,0 +1,18 @@
+class ValLub {
+	public void easyLub() {
+		java.util.Map<String, Number> m = java.util.Collections.emptyMap();
+		final java.util.Map<java.lang.String, java.lang.Number> foo = (System.currentTimeMillis() > 0) ? m : java.util.Collections.<String, Number>emptyMap();
+	}
+	public void sillyLubWithUnboxingThatProducesErrorThatVarIsPrimitive() {
+		Integer i = 20;
+		Double d = 20.0;
+		final double thisShouldBePrimitiveDouble = (System.currentTimeMillis() > 0) ? i : d;
+	}
+	public void hardLub() {
+		java.util.List<String> list = new java.util.ArrayList<String>();
+		java.util.Set<String> set = new java.util.HashSet<String>();
+		final java.util.Collection<java.lang.String> thisShouldBeCollection = (System.currentTimeMillis() > 0) ? list : set;
+		thisShouldBeCollection.add("");
+		String foo = thisShouldBeCollection.iterator().next();
+	}
+}
\ No newline at end of file
diff --git a/test/transform/resource/after-ecj/ValLub.java b/test/transform/resource/after-ecj/ValLub.java
new file mode 100644
index 00000000..6fee1ae6
--- /dev/null
+++ b/test/transform/resource/after-ecj/ValLub.java
@@ -0,0 +1,21 @@
+class ValLub {
+  ValLub() {
+    super();
+  }
+  public void easyLub() {
+    java.util.Map<String, Number> m = java.util.Collections.emptyMap();
+    final @lombok.val java.util.Map<java.lang.String, java.lang.Number> foo = ((System.currentTimeMillis() > 0) ? m : java.util.Collections.<String, Number>emptyMap());
+  }
+  public void sillyLubWithUnboxingThatProducesErrorThatVarIsPrimitive() {
+    Integer i = 20;
+    Double d = 20.0;
+    final @lombok.val double thisShouldBePrimitiveDouble = ((System.currentTimeMillis() > 0) ? i : d);
+  }
+  public void hardLub() {
+    java.util.List<String> list = new java.util.ArrayList<String>();
+    java.util.Set<String> set = new java.util.HashSet<String>();
+    final @lombok.val java.util.Collection<java.lang.String> thisShouldBeCollection = ((System.currentTimeMillis() > 0) ? list : set);
+    thisShouldBeCollection.add("");
+    String foo = thisShouldBeCollection.iterator().next();
+  }
+}
diff --git a/test/transform/resource/before/ValLub.java b/test/transform/resource/before/ValLub.java
new file mode 100644
index 00000000..c1b41c26
--- /dev/null
+++ b/test/transform/resource/before/ValLub.java
@@ -0,0 +1,23 @@
+class ValLub {
+	public void easyLub() {
+		java.util.Map<String, Number> m = java.util.Collections.emptyMap();
+
+		lombok.val foo = (System.currentTimeMillis() > 0) ? m : java.util.Collections.<String, Number>emptyMap();
+	}
+
+	public void sillyLubWithUnboxingThatProducesErrorThatVarIsPrimitive() {
+		Integer i = 20;
+		Double d = 20.0;
+
+		lombok.val thisShouldBePrimitiveDouble = (System.currentTimeMillis() > 0) ? i : d;
+	}
+
+	public void hardLub() {
+		java.util.List<String> list = new java.util.ArrayList<String>();
+		java.util.Set<String> set = new java.util.HashSet<String>();
+
+		lombok.val thisShouldBeCollection = (System.currentTimeMillis() > 0) ? list : set;
+		thisShouldBeCollection.add("");
+		String foo = thisShouldBeCollection.iterator().next();
+	}
+}
-- 
cgit