You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2012/06/01 17:28:33 UTC

[2/2] git commit: Convert TestNG to Spock

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/d31c08cc
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/d31c08cc
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/d31c08cc

Branch: refs/heads/master
Commit: d31c08cc95332e69cb3194f4d76ac47f5ffa92ef
Parents: d6e5f41
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Fri Jun 1 08:04:15 2012 -0700
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Fri Jun 1 08:04:15 2012 -0700

----------------------------------------------------------------------
 .../services/StrategyBuilderImplSpec.groovy        |   70 +++++++++++
 .../tapestry5/ioc/internal/services/KindOf.java    |   23 ----
 .../internal/services/StrategyBuilderImplTest.java |   93 ---------------
 3 files changed, 70 insertions(+), 116 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d31c08cc/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/internal/services/StrategyBuilderImplSpec.groovy
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/internal/services/StrategyBuilderImplSpec.groovy b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/internal/services/StrategyBuilderImplSpec.groovy
new file mode 100644
index 0000000..71178e9
--- /dev/null
+++ b/tapestry-ioc/src/test/groovy/org/apache/tapestry5/ioc/internal/services/StrategyBuilderImplSpec.groovy
@@ -0,0 +1,70 @@
+package org.apache.tapestry5.ioc.internal.services
+
+import org.apache.tapestry5.ioc.AbstractSharedRegistrySpecification
+import org.apache.tapestry5.ioc.services.StrategyBuilder
+import spock.lang.Shared
+
+
+interface KindOf
+{
+  String kindOf(Object value);
+}
+
+class KindOfImpl implements KindOf {
+
+  private final String value;
+
+  KindOfImpl(String value) { this.value = value; }
+
+  @Override
+  String kindOf(Object value) {
+    return this.value;
+  }
+
+}
+
+class StrategyBuilderImplSpec extends AbstractSharedRegistrySpecification {
+
+  @Shared
+  KindOf service
+
+
+  def setup() {
+
+    StrategyBuilder builder = getService StrategyBuilder
+
+    service = builder.build KindOf, [
+        (Map): new KindOfImpl("MAP"),
+        (List): new KindOfImpl("LIST")
+    ]
+  }
+
+  def "generated class implements a useful toString()"() {
+
+    expect:
+
+    service.toString() == "<Strategy for org.apache.tapestry5.ioc.internal.services.KindOf>"
+  }
+
+  def "ensure implementation inputs map to interface definitions"() {
+
+    expect:
+
+    service.kindOf(Collections.EMPTY_MAP) == "MAP"
+    service.kindOf(Collections.EMPTY_LIST) == "LIST"
+  }
+
+  def "mapping null with no void mapping is a failure"() {
+
+    when:
+
+    service.kindOf null
+
+    then:
+
+    RuntimeException e = thrown()
+
+    e.message == "No adapter from type void to type org.apache.tapestry5.ioc.internal.services.KindOf is available."
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d31c08cc/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/KindOf.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/KindOf.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/KindOf.java
deleted file mode 100644
index 6261f21..0000000
--- a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/KindOf.java
+++ /dev/null
@@ -1,23 +0,0 @@
-// 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.services;
-
-/**
- * Converts an object to a string describing the kind of the object.
- */
-public interface KindOf
-{
-    String kindOf(Object value);
-}

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/d31c08cc/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/StrategyBuilderImplTest.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/StrategyBuilderImplTest.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/StrategyBuilderImplTest.java
deleted file mode 100644
index cca2b7b..0000000
--- a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/StrategyBuilderImplTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2006, 2008, 2012 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.services;
-
-import org.apache.tapestry5.ioc.internal.IOCInternalTestCase;
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.services.StrategyBuilder;
-import org.apache.tapestry5.ioc.util.StrategyRegistry;
-import org.testng.annotations.Test;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-public class StrategyBuilderImplTest extends IOCInternalTestCase
-{
-    private static class KindOfImpl implements KindOf
-    {
-        private final String value;
-
-        public KindOfImpl(final String value)
-        {
-            this.value = value;
-        }
-
-        public String kindOf(Object value)
-        {
-            return this.value;
-        }
-    }
-
-    @Test
-    public void standard()
-    {
-        StrategyRegistry<KindOf> registry = buildStrategyRegistry();
-
-        StrategyBuilder builder = getService(StrategyBuilder.class);
-
-        KindOf service = builder.build(registry);
-
-        assertEquals(service.kindOf(Collections.EMPTY_MAP), "MAP");
-        assertEquals(service.kindOf(Collections.EMPTY_LIST), "LIST");
-
-        assertEquals(service.toString(), "<Strategy for org.apache.tapestry5.ioc.internal.services.KindOf>");
-
-        try
-        {
-            service.kindOf(null);
-            unreachable();
-        } catch (RuntimeException ex)
-        {
-            assertEquals(ex.getMessage(),
-                    "No adapter from type void to type org.apache.tapestry5.ioc.internal.services.KindOf is available.");
-        }
-    }
-
-    @Test
-    public void using_registration_map()
-    {
-        Map<Class, KindOf> registrations = CollectionFactory.newMap();
-
-        registrations.put(Map.class, new KindOfImpl("MAP"));
-        registrations.put(List.class, new KindOfImpl("LIST"));
-        StrategyBuilder builder = getService(StrategyBuilder.class);
-
-        KindOf service = builder.build(KindOf.class, registrations);
-
-        assertEquals(service.kindOf(Collections.EMPTY_MAP), "MAP");
-        assertEquals(service.kindOf(Collections.EMPTY_LIST), "LIST");
-    }
-
-    private StrategyRegistry<KindOf> buildStrategyRegistry()
-    {
-        Map<Class, KindOf> registrations = CollectionFactory.newMap();
-
-        registrations.put(Map.class, new KindOfImpl("MAP"));
-        registrations.put(List.class, new KindOfImpl("LIST"));
-
-        return StrategyRegistry.newInstance(KindOf.class, registrations);
-    }
-}