Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/transformer/FilteringTransformerTests.java')
-rw-r--r--common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/transformer/FilteringTransformerTests.java80
1 files changed, 80 insertions, 0 deletions
diff --git a/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/transformer/FilteringTransformerTests.java b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/transformer/FilteringTransformerTests.java
new file mode 100644
index 0000000000..9f5c198a46
--- /dev/null
+++ b/common/tests/org.eclipse.jpt.common.utility.tests/src/org/eclipse/jpt/common/utility/tests/internal/transformer/FilteringTransformerTests.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Oracle. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0, which accompanies this distribution
+ * and is available at http://www.eclipse.org/legal/epl-v10.html.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.common.utility.tests.internal.transformer;
+
+import org.eclipse.jpt.common.utility.internal.predicate.PredicateAdapter;
+import org.eclipse.jpt.common.utility.internal.predicate.PredicateTools;
+import org.eclipse.jpt.common.utility.internal.transformer.FilteringTransformer;
+import org.eclipse.jpt.common.utility.internal.transformer.TransformerTools;
+import org.eclipse.jpt.common.utility.predicate.Predicate;
+import org.eclipse.jpt.common.utility.transformer.Transformer;
+import junit.framework.TestCase;
+
+@SuppressWarnings("nls")
+public class FilteringTransformerTests
+ extends TestCase
+{
+ public FilteringTransformerTests(String name) {
+ super(name);
+ }
+
+ public void testTransform() {
+ Predicate<String> nonNullFilter = new Filter(3);
+ Predicate<String> filter = PredicateTools.nullCheck(nonNullFilter, false);
+ Transformer<String, String> transformer = TransformerTools.filteringTransformer(filter);
+
+ assertEquals("foo", transformer.transform("foo"));
+ assertEquals("bar", transformer.transform("bar"));
+ assertNull(transformer.transform("barbar"));
+ assertNull(transformer.transform("b"));
+ assertNull(transformer.transform(""));
+ assertNull(transformer.transform(null));
+ }
+
+ public void testToString() {
+ Predicate<String> nonNullFilter = new Filter(3);
+ Predicate<String> filter = PredicateTools.nullCheck(nonNullFilter, false);
+ Transformer<String, String> transformer = TransformerTools.filteringTransformer(filter);
+ assertTrue(transformer.toString().indexOf("Filtering") != -1);
+ }
+
+ public void testGetters() {
+ Predicate<String> nonNullFilter = new Filter(3);
+ Predicate<String> filter = PredicateTools.nullCheck(nonNullFilter, false);
+ FilteringTransformer<String> transformer = (FilteringTransformer<String>) TransformerTools.filteringTransformer(filter);
+ assertSame(filter, transformer.getFilter());
+ assertNull(transformer.getDefaultOutput());
+ }
+
+ public void testCtor_NPE() {
+ boolean exCaught = false;
+ try {
+ Transformer<String, String> transformer = TransformerTools.filteringTransformer(null);
+ fail("bogus: " + transformer);
+ } catch (NullPointerException ex) {
+ exCaught = true;
+ }
+ assertTrue(exCaught);
+ }
+
+ public static class Filter
+ extends PredicateAdapter<String>
+ {
+ public final int length;
+ public Filter(int length) {
+ super();
+ this.length =length;
+ }
+ @Override
+ public boolean evaluate(String variable) {
+ return variable.length() == this.length;
+ }
+ }
+}

Back to the top