Convert TestNG to Spock

Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/f5a80426
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/f5a80426
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/f5a80426

Branch: refs/heads/master
Commit: f5a8042645b4587a806d5f0118c0ca67a6d634ee
Parents: 29f5894
Author: Howard M. Lewis Ship <[email protected]>
Authored: Mon Jun 18 16:03:05 2012 -0700
Committer: Howard M. Lewis Ship <[email protected]>
Committed: Mon Jun 18 16:03:05 2012 -0700

----------------------------------------------------------------------
 .../tapestry5/ioc/util/MessagesImplSpec.groovy     |   76 ++++++++++++
 .../ioc/internal/util/MessagesImplTest.java        |   94 ---------------
 .../ioc/internal/util/TargetMessages.java          |   16 +---
 3 files changed, 77 insertions(+), 109 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f5a80426/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/util/MessagesImplSpec.groovy
----------------------------------------------------------------------
diff --git 
a/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/util/MessagesImplSpec.groovy
 
b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/util/MessagesImplSpec.groovy
new file mode 100644
index 0000000..8d51c68
--- /dev/null
+++ 
b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/util/MessagesImplSpec.groovy
@@ -0,0 +1,76 @@
+package org.apache.tapestry5.ioc.util
+
+import org.apache.tapestry5.ioc.Messages
+import org.apache.tapestry5.ioc.internal.util.MessagesImpl
+import org.apache.tapestry5.ioc.internal.util.TargetMessages
+import spock.lang.Shared
+import spock.lang.Specification
+import spock.lang.Unroll
+
+class MessagesImplSpec extends Specification {
+
+  @Shared
+  Messages messages = MessagesImpl.forClass(TargetMessages)
+
+  @Unroll
+  def "contains key: #desc"() {
+
+    expect:
+
+    messages.contains(key) == expectation
+
+    where:
+
+    key       | expectation | desc
+    "no-args" | true        | "base case"
+    "xyzzyz"  | false       | "key not present"
+    "No-Args" | true        | "case insensitive"
+  }
+
+  @Unroll
+  def "get message from catalog: #desc"() {
+    expect:
+
+    messages.get(key) == expectation
+
+    where:
+
+    key                | expectation                       | desc
+
+    "no-args"          | "No arguments."                   | "base case"
+    "something-failed" | "Something failed: %s"            | "does not attempt 
to expand conversions"
+    "No-Args"          | "No arguments."                   | "access is case 
insensitive"
+    "does-not-exist"   | "[[missing key: does-not-exist]]" | "fake value 
supplied for missing key"
+  }
+
+  @Unroll
+  def "format message:#desc"() {
+    expect:
+
+    messages.format(key, value) == expectation
+
+    where:
+
+    key              | value    | expectation                       | desc
+    "result"         | "good"   | "The result is 'good'."           | 
"standard"
+    "Result"         | "best"   | "The result is 'best'."           | "lookup 
is case insensitive"
+    "does-not-exist" | "xyzzyz" | "[[missing key: does-not-exist]]" | "fake 
value supplied for missing key"
+  }
+
+  def "access a MesageFormatter to format content"() {
+    def mf = messages.getFormatter("result")
+
+    expect:
+
+    mf.format("cool") == "The result is 'cool'."
+  }
+
+  def "MessageFormatters are cached"() {
+    def mf1 = messages.getFormatter("result")
+    def mf2 = messages.getFormatter("result")
+
+    expect:
+
+    mf1.is(mf2)
+  }
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f5a80426/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/MessagesImplTest.java
----------------------------------------------------------------------
diff --git 
a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/MessagesImplTest.java
 
b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/MessagesImplTest.java
deleted file mode 100644
index bbf8b5c..0000000
--- 
a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/MessagesImplTest.java
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2006, 2011 The Apache Software Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package org.apache.tapestry5.ioc.internal.util;
-
-import org.apache.tapestry5.ioc.MessageFormatter;
-import org.apache.tapestry5.ioc.Messages;
-import org.apache.tapestry5.ioc.test.IOCTestCase;
-import org.testng.annotations.Test;
-
-public class MessagesImplTest extends IOCTestCase
-{
-    private final Messages messages = 
MessagesImpl.forClass(TargetMessages.class);
-
-    @Test
-    public void contains_key()
-    {
-        assertTrue(messages.contains("no-args"));
-        assertFalse(messages.contains("xyzzyx"));
-    }
-
-    @Test
-    public void contains_key_is_case_insensitive()
-    {
-        assertTrue(messages.contains("No-Args"));
-        assertFalse(messages.contains("Xyzzyx"));
-    }
-
-    @Test
-    public void get_message_from_catalog()
-    {
-        assertEquals(messages.get("no-args"), "No arguments.");
-        assertEquals(messages.get("something-failed"), "Something failed: %s");
-    }
-
-    @Test
-    public void get_message_from_catalog_is_case_insensitive()
-    {
-        assertEquals(messages.get("No-args"), "No arguments.");
-        assertEquals(messages.get("Something-Failed"), "Something failed: %s");
-    }
-
-    @Test
-    public void get_unknown_message_from_catalog()
-    {
-        assertEquals(messages.get("does-not-exist"), "[[missing key: 
does-not-exist]]");
-    }
-
-    @Test
-    public void format_message()
-    {
-        assertEquals(messages.format("result", "good"), "The result is 
'good'.");
-    }
-
-    @Test
-    public void format_message_is_case_insensitive()
-    {
-        assertEquals(messages.format("Result", "good"), "The result is 
'good'.");
-    }
-
-    @Test
-    public void get_formatter()
-    {
-        MessageFormatter mf = messages.getFormatter("result");
-
-        assertEquals(mf.format("great"), "The result is 'great'.");
-    }
-
-    @Test
-    public void formatters_are_cached()
-    {
-        MessageFormatter mf1 = messages.getFormatter("result");
-        MessageFormatter mf2 = messages.getFormatter("result");
-
-        assertSame(mf2, mf1);
-    }
-
-    @Test
-    public void format_unknown_key()
-    {
-        assertEquals(messages.format("rezult", "good"), "[[missing key: 
rezult]]");
-    }
-}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/f5a80426/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java
----------------------------------------------------------------------
diff --git 
a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java
 
b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java
index cc8926f..ea1edc1 100644
--- 
a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java
+++ 
b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/TargetMessages.java
@@ -1,21 +1,7 @@
-// Copyright 2006 The Apache Software Foundation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
 package org.apache.tapestry5.ioc.internal.util;
 
 /**
- * Used with {@link org.apache.tapestry5.ioc.internal.util.MessagesImplTest}.
+ * Used with {@link org.apache.tapestry5.ioc.util.MessagesImplSpec}.
  */
 public class TargetMessages
 {

Reply via email to