Repository: yegor256/cactoos
Pull request #78 (2017-06-03 11:34:49)

Reverse The Text
Reverses The Text


Patch:
diff --git a/.travis.yml b/.travis.yml
index 297e4b6c..37963f66 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,7 +6,6 @@ cache:
 script:
   - set -e
   - mvn clean install -Pqulice --errors --batch-mode
-  - mvn clean site -Psite --errors --batch-mode
 env:
   global:
     - MAVEN_OPTS="-Xmx256m"
diff --git a/README.md b/README.md
index 0641777c..fdf5f787 100644
--- a/README.md
+++ b/README.md
@@ -200,10 +200,6 @@ mvn clean install -Pqulice
 Note: [Checkstyle](https://en.wikipedia.org/wiki/Checkstyle) is used as a static code analyze tool with
 [checks list](http://checkstyle.sourceforge.net/checks.html) in GitHub precommits.
 
-## Contributors
-
- - [Kirill Che.](https://github.com/g4s8) g4s8.public@gmail.com
-
 ## License (MIT)
 
 Copyright (c) 2017 Yegor Bugayenko
diff --git a/src/main/java/org/cactoos/Func.java b/src/main/java/org/cactoos/Func.java
index 1e5bf410..46d48913 100644
--- a/src/main/java/org/cactoos/Func.java
+++ b/src/main/java/org/cactoos/Func.java
@@ -23,6 +23,8 @@
  */
 package org.cactoos;
 
+import java.util.concurrent.Callable;
+
 /**
  * Function.
  *
@@ -34,6 +36,7 @@ package org.cactoos;
  * @param <Y> Type of output
  * @since 0.1
  */
+@SuppressWarnings("PMD.TooManyMethods")
 public interface Func<X, Y> {
 
     /**
@@ -44,4 +47,102 @@ public interface Func<X, Y> {
      */
     Y apply(X input) throws Exception;
 
+    /**
+     * Func that doesn't throw.
+     * @param <X> Input type
+     * @param <Y> Output type
+     */
+    interface Safe<X, Y> extends Func<X, Y> {
+        /**
+         * Apply it safely.
+         * @param input The argument
+         * @return The result
+         */
+        @SuppressWarnings("PMD.AvoidCatchingGenericException")
+        default Y safeApply(X input) {
+            try {
+                return this.apply(input);
+            } catch (final InterruptedException ex) {
+                Thread.currentThread().interrupt();
+                throw new IllegalStateException(ex);
+                // @checkstyle IllegalCatchCheck (1 line)
+            } catch (final Exception ex) {
+                throw new IllegalStateException(ex);
+            }
+        }
+    }
+
+    /**
+     * Quiet func that returns nothing, but is still a function.
+     * @param <X> Input type
+     */
+    interface Quiet<X> extends Func<X, Boolean> {
+        @Override
+        default Boolean apply(X input) throws Exception {
+            this.exec(input);
+            return true;
+        }
+        /**
+         * Execute it.
+         * @param input The argument
+         * @throws Exception If fails
+         */
+        void exec(X input) throws Exception;
+    }
+
+    /**
+     * Func that returns something but doesn't expect any input.
+     * @param <Y> Output type
+     */
+    interface Value<Y> extends Func<Void, Y>, Scalar<Y>, Callable<Y> {
+        @Override
+        default Y apply(Void input) throws Exception {
+            return this.asValue();
+        }
+        @Override
+        default Y call() throws Exception {
+            return this.asValue();
+        }
+    }
+
+    /**
+     * Func that really is a procedure that does something and returns nothing.
+     */
+    interface Proc extends Func<Boolean, Boolean>, Runnable, Callable<Boolean> {
+        @Override
+        default Boolean apply(Boolean input) throws Exception {
+            return this.call();
+        }
+        @Override
+        default Boolean call() throws Exception {
+            this.run();
+            return true;
+        }
+        @Override
+        @SuppressWarnings("PMD.AvoidCatchingGenericException")
+        default void run() {
+            try {
+                this.exec();
+            } catch (final InterruptedException ex) {
+                Thread.currentThread().interrupt();
+                throw new IllegalStateException(ex);
+                // @checkstyle IllegalCatchCheck (1 line)
+            } catch (final Exception ex) {
+                throw new IllegalStateException(ex);
+            }
+        }
+        /**
+         * Execute it.
+         * @throws Exception If fails
+         */
+        void exec() throws Exception;
+    }
+
+    /**
+     * Func that represents a predicate of one argument.
+     * @param <X> Input type
+     */
+    interface Pred<X> extends Func<X, Boolean> {
+    }
+
 }
diff --git a/src/main/java/org/cactoos/FuncApplies.java b/src/main/java/org/cactoos/FuncApplies.java
deleted file mode 100644
index 96983eef..00000000
--- a/src/main/java/org/cactoos/FuncApplies.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos;
-
-import org.cactoos.func.UncheckedFunc;
-import org.hamcrest.Description;
-import org.hamcrest.Matcher;
-import org.hamcrest.TypeSafeMatcher;
-import org.hamcrest.core.IsEqual;
-
-/**
- * Matcher for the value.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @param <X> Type of input
- * @param <Y> Type of output
- * @since 0.2
- */
-public final class FuncApplies<X, Y> extends TypeSafeMatcher<Func<X, Y>> {
-
-    /**
-     * Input of the function.
-     */
-    private final X input;
-
-    /**
-     * Matcher of the result.
-     */
-    private final Matcher<Y> matcher;
-
-    /**
-     * Ctor.
-     * @param result The result expected
-     * @param inpt Input for the function
-     */
-    public FuncApplies(final X inpt, final Y result) {
-        this(inpt, new IsEqual<>(result));
-    }
-
-    /**
-     * Ctor.
-     * @param inpt Input for the function
-     * @param mtr Matcher of the text
-     */
-    public FuncApplies(final X inpt, final Matcher<Y> mtr) {
-        super();
-        this.input = inpt;
-        this.matcher = mtr;
-    }
-
-    @Override
-    public boolean matchesSafely(final Func<X, Y> func) {
-        return this.matcher.matches(
-            new UncheckedFunc<>(func).apply(this.input)
-        );
-    }
-
-    @Override
-    public void describeTo(final Description description) {
-        description.appendText("Scalar with ");
-        description.appendDescriptionOf(this.matcher);
-    }
-}
diff --git a/src/main/java/org/cactoos/Proc.java b/src/main/java/org/cactoos/Proc.java
deleted file mode 100644
index bdaf7a4f..00000000
--- a/src/main/java/org/cactoos/Proc.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos;
-
-/**
- * Procedure.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @param <X> Type of input
- * @since 0.1
- */
-public interface Proc<X> {
-
-    /**
-     * Execute it.
-     * @param input The argument
-     * @throws Exception If fails
-     */
-    void exec(X input) throws Exception;
-
-}
diff --git a/src/main/java/org/cactoos/func/AlwaysTrueFunc.java b/src/main/java/org/cactoos/func/AlwaysTrueFunc.java
deleted file mode 100644
index fb396e03..00000000
--- a/src/main/java/org/cactoos/func/AlwaysTrueFunc.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.func;
-
-import org.cactoos.Func;
-import org.cactoos.Proc;
-
-/**
- * Func as that is always true.
- *
- * <p>You may want to use this decorator when you need
- * a procedure that returns boolean instead of a function:</p>
- *
- * <pre> List&lt;String&gt; list = new LinkedList&lt;&gt;();
- * new AllOf(
- *   new IterableAsBooleans&lt;String&gt;(
- *     Collections.emptyList(),
- *     new AlwaysTrueFunc&lt;&gt;(list::add)
- *   )
- * ).asValue();
- * </pre>
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @param <X> Type of input
- * @since 0.2
- */
-public final class AlwaysTrueFunc<X> implements Func<X, Boolean> {
-
-    /**
-     * Original func.
-     */
-    private final Func<X, ?> func;
-
-    /**
-     * Ctor.
-     * @param proc Encapsulated proc
-     */
-    public AlwaysTrueFunc(final Proc<X> proc) {
-        this(new ProcAsFunc<>(proc));
-    }
-
-    /**
-     * Ctor.
-     * @param fnc Encapsulated func
-     */
-    public AlwaysTrueFunc(final Func<X, ?> fnc) {
-        this.func = fnc;
-    }
-
-    @Override
-    public Boolean apply(final X input) throws Exception {
-        this.func.apply(input);
-        return true;
-    }
-
-}
diff --git a/src/main/java/org/cactoos/func/CallableAsFunc.java b/src/main/java/org/cactoos/func/CallableAsFunc.java
deleted file mode 100644
index e5c3c7a6..00000000
--- a/src/main/java/org/cactoos/func/CallableAsFunc.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.func;
-
-import java.util.concurrent.Callable;
-import org.cactoos.Func;
-
-/**
- * Callable as Func.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @param <X> Type of input
- * @param <Y> Type of output
- * @see FuncAsCallable
- * @see FuncAsRunnable
- * @see RunnableAsFunc
- * @since 0.2
- */
-public final class CallableAsFunc<X, Y> implements Func<X, Y> {
-
-    /**
-     * The callable.
-     */
-    private final Callable<Y> callable;
-
-    /**
-     * Ctor.
-     * @param clbl The callable
-     */
-    public CallableAsFunc(final Callable<Y> clbl) {
-        this.callable = clbl;
-    }
-
-    @Override
-    public Y apply(final X input) throws Exception {
-        return this.callable.call();
-    }
-}
diff --git a/src/main/java/org/cactoos/func/ConstFunc.java b/src/main/java/org/cactoos/func/ConstFunc.java
index 3f2c8dfb..ae7d5cef 100644
--- a/src/main/java/org/cactoos/func/ConstFunc.java
+++ b/src/main/java/org/cactoos/func/ConstFunc.java
@@ -26,7 +26,7 @@ package org.cactoos.func;
 import org.cactoos.Func;
 
 /**
- * Func that always returns the same result.
+ * Func that always returns the same result
  *
  * <p>There is no thread-safety guarantee.
  *
diff --git a/src/main/java/org/cactoos/func/FuncAsCallable.java b/src/main/java/org/cactoos/func/FuncAsCallable.java
deleted file mode 100644
index 2862f574..00000000
--- a/src/main/java/org/cactoos/func/FuncAsCallable.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.func;
-
-import java.util.concurrent.Callable;
-import org.cactoos.Func;
-
-/**
- * Func as {@link Callable}.
- *
- * <p>You may want to use this decorator where
- * {@link Callable} is required, but you just have a function:</p>
- *
- * <pre> Callable&lt;String&gt; callable = new FuncAsCallable&lt;&gt;(
- *   i -&gt; "Hello, world!"
- * );
- * </pre>
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @param <T> Type of input
- * @since 0.2
- */
-public final class FuncAsCallable<T> implements Callable<T> {
-
-    /**
-     * Original func.
-     */
-    private final Func<?, T> func;
-
-    /**
-     * Ctor.
-     * @param fnc Encapsulated func
-     */
-    public FuncAsCallable(final Func<?, T> fnc) {
-        this.func = fnc;
-    }
-
-    @Override
-    public T call() throws Exception {
-        return this.func.apply(null);
-    }
-}
diff --git a/src/main/java/org/cactoos/func/FuncAsMatcher.java b/src/main/java/org/cactoos/func/FuncAsMatcher.java
index b7f31ebd..85f44845 100644
--- a/src/main/java/org/cactoos/func/FuncAsMatcher.java
+++ b/src/main/java/org/cactoos/func/FuncAsMatcher.java
@@ -54,8 +54,14 @@ public final class FuncAsMatcher<T> extends TypeSafeMatcher<T> {
     }
 
     @Override
+    @SuppressWarnings("PMD.AvoidCatchingGenericException")
     public boolean matchesSafely(final T item) {
-        return new UncheckedFunc<>(this.func).apply(item);
+        try {
+            return this.func.apply(item);
+            // @checkstyle IllegalCatchCheck (1 line)
+        } catch (final Exception ex) {
+            throw new AssertionError(ex);
+        }
     }
 
     @Override
diff --git a/src/main/java/org/cactoos/func/FuncAsRunnable.java b/src/main/java/org/cactoos/func/FuncAsProc.java
similarity index 85%
rename from src/main/java/org/cactoos/func/FuncAsRunnable.java
rename to src/main/java/org/cactoos/func/FuncAsProc.java
index 657c1357..7273728c 100644
--- a/src/main/java/org/cactoos/func/FuncAsRunnable.java
+++ b/src/main/java/org/cactoos/func/FuncAsProc.java
@@ -32,25 +32,26 @@ import org.cactoos.Func;
  *
  * @author Yegor Bugayenko (yegor256@gmail.com)
  * @version $Id$
- * @since 0.2
+ * @since 0.1
  */
-public final class FuncAsRunnable implements Runnable {
+public final class FuncAsProc implements Func.Proc {
 
     /**
-     * Original func.
+     * The func.
      */
     private final Func<?, ?> func;
 
     /**
      * Ctor.
-     * @param fnc Encapsulated func
+     * @param fnc The func
      */
-    public FuncAsRunnable(final Func<?, ?> fnc) {
+    public FuncAsProc(final Func<?, ?> fnc) {
         this.func = fnc;
     }
 
     @Override
-    public void run() {
-        new UncheckedFunc<>(this.func).apply(null);
+    public void exec() throws Exception {
+        this.func.apply(null);
     }
+
 }
diff --git a/src/main/java/org/cactoos/func/ProcAsFunc.java b/src/main/java/org/cactoos/func/ProcAsFunc.java
deleted file mode 100644
index 33d2caf3..00000000
--- a/src/main/java/org/cactoos/func/ProcAsFunc.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.func;
-
-import org.cactoos.Func;
-import org.cactoos.Proc;
-
-/**
- * Proc as a Func.
- *
- * <p>Be careful, this function will always return {@code null}.</p>
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @param <X> Type of input
- * @param <Y> Type of output
- * @since 0.2
- */
-public final class ProcAsFunc<X, Y> implements Func<X, Y> {
-
-    /**
-     * The proc.
-     */
-    private final Proc<X> proc;
-
-    /**
-     * Ctor.
-     * @param prc The proc
-     */
-    public ProcAsFunc(final Proc<X> prc) {
-        this.proc = prc;
-    }
-
-    @Override
-    public Y apply(final X input) throws Exception {
-        this.proc.exec(input);
-        return null;
-    }
-}
diff --git a/src/main/java/org/cactoos/func/RunnableAsFunc.java b/src/main/java/org/cactoos/func/RunnableAsProc.java
similarity index 84%
rename from src/main/java/org/cactoos/func/RunnableAsFunc.java
rename to src/main/java/org/cactoos/func/RunnableAsProc.java
index 5cb6a170..114f51a3 100644
--- a/src/main/java/org/cactoos/func/RunnableAsFunc.java
+++ b/src/main/java/org/cactoos/func/RunnableAsProc.java
@@ -32,14 +32,9 @@ import org.cactoos.Func;
  *
  * @author Yegor Bugayenko (yegor256@gmail.com)
  * @version $Id$
- * @param <X> Type of input
- * @param <Y> Type of output
- * @see FuncAsCallable
- * @see FuncAsRunnable
- * @see CallableAsFunc
  * @since 0.2
  */
-public final class RunnableAsFunc<X, Y> implements Func<X, Y> {
+public final class RunnableAsProc implements Func.Proc {
 
     /**
      * The runnable.
@@ -50,13 +45,13 @@ public final class RunnableAsFunc<X, Y> implements Func<X, Y> {
      * Ctor.
      * @param rnbl The runnable
      */
-    public RunnableAsFunc(final Runnable rnbl) {
+    public RunnableAsProc(final Runnable rnbl) {
         this.runnable = rnbl;
     }
 
     @Override
-    public Y apply(final X input) {
+    public void exec() {
         this.runnable.run();
-        return null;
     }
+
 }
diff --git a/src/main/java/org/cactoos/func/UncheckedFunc.java b/src/main/java/org/cactoos/func/UncheckedFunc.java
deleted file mode 100644
index b6258247..00000000
--- a/src/main/java/org/cactoos/func/UncheckedFunc.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.func;
-
-import org.cactoos.Func;
-
-/**
- * Func that doesn't throw checked {@link Exception}.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @param <X> Type of input
- * @param <Y> Type of output
- * @since 0.2
- */
-public final class UncheckedFunc<X, Y> implements Func<X, Y> {
-
-    /**
-     * Original func.
-     */
-    private final Func<X, Y> func;
-
-    /**
-     * Ctor.
-     * @param fnc Encapsulated func
-     */
-    public UncheckedFunc(final Func<X, Y> fnc) {
-        this.func = fnc;
-    }
-
-    @Override
-    @SuppressWarnings("PMD.AvoidCatchingGenericException")
-    public Y apply(final X input) {
-        try {
-            return this.func.apply(input);
-        } catch (final InterruptedException ex) {
-            Thread.currentThread().interrupt();
-            throw new IllegalStateException(ex);
-            // @checkstyle IllegalCatchCheck (1 line)
-        } catch (final Exception ex) {
-            throw new IllegalStateException(ex);
-        }
-    }
-
-}
diff --git a/src/main/java/org/cactoos/func/UncheckedProc.java b/src/main/java/org/cactoos/func/UncheckedProc.java
deleted file mode 100644
index 66df43f6..00000000
--- a/src/main/java/org/cactoos/func/UncheckedProc.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.func;
-
-import org.cactoos.Func;
-import org.cactoos.Proc;
-
-/**
- * Proc that doesn't throw checked {@link Exception}.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @param <X> Type of input
- * @since 0.2
- */
-public final class UncheckedProc<X> implements Proc<X> {
-
-    /**
-     * Original proc.
-     */
-    private final Proc<X> proc;
-
-    /**
-     * Ctor.
-     * @param prc Encapsulated func
-     */
-    public UncheckedProc(final Proc<X> prc) {
-        this.proc = prc;
-    }
-
-    @Override
-    public void exec(final X input) {
-        new UncheckedFunc<>(
-            (Func<X, Boolean>) arg -> {
-                this.proc.exec(arg);
-                return true;
-            }
-        ).apply(input);
-    }
-
-}
diff --git a/src/main/java/org/cactoos/io/PathAsInput.java b/src/main/java/org/cactoos/io/PathAsInput.java
deleted file mode 100644
index ac3cf998..00000000
--- a/src/main/java/org/cactoos/io/PathAsInput.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.io;
-
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.InputStream;
-import java.nio.file.Path;
-import org.cactoos.Input;
-
-/**
- * Path as Input.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @since 0.2
- */
-public final class PathAsInput implements Input {
-
-    /**
-     * The path.
-     */
-    private final Path path;
-
-    /**
-     * Ctor.
-     * @param src The path
-     */
-    public PathAsInput(final Path src) {
-        this.path = src;
-    }
-
-    @Override
-    public InputStream stream() throws FileNotFoundException {
-        return new FileInputStream(this.path.toFile());
-    }
-
-}
diff --git a/src/main/java/org/cactoos/io/PathAsOutput.java b/src/main/java/org/cactoos/io/PathAsOutput.java
deleted file mode 100644
index 2789fc2b..00000000
--- a/src/main/java/org/cactoos/io/PathAsOutput.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.io;
-
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-import java.nio.file.Path;
-import org.cactoos.Output;
-
-/**
- * Path as Output.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @since 0.2
- */
-public final class PathAsOutput implements Output {
-
-    /**
-     * The path.
-     */
-    private final Path path;
-
-    /**
-     * Ctor.
-     * @param src The path
-     */
-    public PathAsOutput(final Path src) {
-        this.path = src;
-    }
-
-    @Override
-    public OutputStream stream() throws FileNotFoundException {
-        return new FileOutputStream(this.path.toFile());
-    }
-
-}
diff --git a/src/main/java/org/cactoos/list/FilteredIterable.java b/src/main/java/org/cactoos/list/FilteredIterable.java
index be6acb85..1a2292d0 100644
--- a/src/main/java/org/cactoos/list/FilteredIterable.java
+++ b/src/main/java/org/cactoos/list/FilteredIterable.java
@@ -29,24 +29,11 @@ import org.cactoos.Func;
 /**
  * Filtered iterable.
  *
- * <p>You can use it in order to create a declarative/lazy
- * version of a filtered collection/iterable. For example,
- * this code will create a list of two strings "hello" and "world":</p>
- *
- * <pre> Iterable&lt;String&gt; list = new FilteredIterable&lt;&gt;(
- *   new ArrayAsIterable&lt;&gt;(
- *     "hey", "hello", "world"
- *   ),
- *   input -&gt; input.length() &gt; 4
- * );
- * </pre>
- *
  * <p>There is no thread-safety guarantee.
  *
  * @author Yegor Bugayenko (yegor256@gmail.com)
  * @version $Id$
  * @param <X> Type of item
- * @see FilteredIterator
  * @since 0.1
  */
 public final class FilteredIterable<X> implements Iterable<X> {
@@ -59,23 +46,23 @@ public final class FilteredIterable<X> implements Iterable<X> {
     /**
      * Function.
      */
-    private final Func<X, Boolean> func;
+    private final Func.Pred<X> pred;
 
     /**
      * Ctor.
      * @param src Source iterable
-     * @param fnc Predicate
+     * @param pred Predicate
      */
-    public FilteredIterable(final Iterable<X> src, final Func<X, Boolean> fnc) {
+    public FilteredIterable(final Iterable<X> src, final Func.Pred<X> pred) {
         this.iterable = src;
-        this.func = fnc;
+        this.pred = pred;
     }
 
     @Override
     public Iterator<X> iterator() {
         return new FilteredIterator<>(
             this.iterable.iterator(),
-            this.func
+            this.pred
         );
     }
 
diff --git a/src/main/java/org/cactoos/list/FilteredIterator.java b/src/main/java/org/cactoos/list/FilteredIterator.java
index a4c7739e..22f3b6d1 100644
--- a/src/main/java/org/cactoos/list/FilteredIterator.java
+++ b/src/main/java/org/cactoos/list/FilteredIterator.java
@@ -28,29 +28,15 @@ import java.util.LinkedList;
 import java.util.NoSuchElementException;
 import java.util.Queue;
 import org.cactoos.Func;
-import org.cactoos.func.UncheckedFunc;
 
 /**
  * Filtered iterator.
  *
- * <p>You can use it in order to create a declarative/lazy
- * version of a filtered collection/iterable. For example,
- * this code will create a list of two strings "hello" and "world":</p>
- *
- * <pre> Iterator&lt;String&gt; list = new FilteredIterator&lt;&gt;(
- *   new ArrayAsIterable&lt;&gt;(
- *     "hey", "hello", "world"
- *   ).iterator(),
- *   input -&gt; input.length() &gt; 4
- * );
- * </pre>
- *
  * <p>There is no thread-safety guarantee.
  *
  * @author Yegor Bugayenko (yegor256@gmail.com)
  * @version $Id$
  * @param <X> Type of item
- * @see FilteredIterable
  * @since 0.1
  */
 public final class FilteredIterator<X> implements Iterator<X> {
@@ -63,7 +49,7 @@ public final class FilteredIterator<X> implements Iterator<X> {
     /**
      * Predicate.
      */
-    private final Func<X, Boolean> func;
+    private final Func.Pred<X> pred;
 
     /**
      * The buffer storing the objects of the iterator.
@@ -73,23 +59,28 @@ public final class FilteredIterator<X> implements Iterator<X> {
     /**
      * Ctor.
      * @param src Source iterable
-     * @param fnc Predicate
+     * @param pred Predicate
      */
-    public FilteredIterator(final Iterator<X> src, final Func<X, Boolean> fnc) {
+    public FilteredIterator(final Iterator<X> src, final Func.Pred<X> pred) {
         this.iterator = src;
-        this.func = fnc;
+        this.pred = pred;
         this.buffer = new LinkedList<>();
     }
 
     @Override
+    @SuppressWarnings("PMD.AvoidCatchingGenericException")
     public boolean hasNext() {
-        final UncheckedFunc<X, Boolean> fnc = new UncheckedFunc<>(this.func);
         if (this.buffer.isEmpty()) {
             while (this.iterator.hasNext()) {
                 final X object = this.iterator.next();
-                if (fnc.apply(object)) {
-                    this.buffer.add(object);
-                    break;
+                try {
+                    if (this.pred.apply(object)) {
+                        this.buffer.add(object);
+                        break;
+                    }
+                    // @checkstyle IllegalCatchCheck (1 line)
+                } catch (final Exception ex) {
+                    throw new IllegalStateException(ex);
                 }
             }
         }
diff --git a/src/main/java/org/cactoos/list/IterableAsBoolean.java b/src/main/java/org/cactoos/list/IterableAsBoolean.java
index 6352b4b8..31b91f4e 100644
--- a/src/main/java/org/cactoos/list/IterableAsBoolean.java
+++ b/src/main/java/org/cactoos/list/IterableAsBoolean.java
@@ -42,7 +42,6 @@ import org.cactoos.Scalar;
  * @author Yegor Bugayenko (yegor256@gmail.com)
  * @version $Id$
  * @param <X> Type of source item
- * @see IterableAsBooleans
  * @since 0.1
  */
 public final class IterableAsBoolean<X> implements Scalar<Boolean> {
diff --git a/src/main/java/org/cactoos/list/IterableAsBooleans.java b/src/main/java/org/cactoos/list/IterableAsBooleans.java
index 98c50a1c..ee1efd9c 100644
--- a/src/main/java/org/cactoos/list/IterableAsBooleans.java
+++ b/src/main/java/org/cactoos/list/IterableAsBooleans.java
@@ -46,7 +46,6 @@ import org.cactoos.Func;
  * @author Yegor Bugayenko (yegor256@gmail.com)
  * @version $Id$
  * @param <X> Type of source item
- * @see IterableAsBoolean
  * @since 0.1
  */
 public final class IterableAsBooleans<X> implements Iterable<Boolean> {
diff --git a/src/main/java/org/cactoos/list/TransformedIterator.java b/src/main/java/org/cactoos/list/TransformedIterator.java
index fe3424e5..b4768525 100644
--- a/src/main/java/org/cactoos/list/TransformedIterator.java
+++ b/src/main/java/org/cactoos/list/TransformedIterator.java
@@ -25,7 +25,6 @@ package org.cactoos.list;
 
 import java.util.Iterator;
 import org.cactoos.Func;
-import org.cactoos.func.UncheckedFunc;
 
 /**
  * Transformed iterator.
@@ -68,7 +67,12 @@ public final class TransformedIterator<X, Y> implements Iterator<Y> {
     @Override
     @SuppressWarnings("PMD.AvoidCatchingGenericException")
     public Y next() {
-        return new UncheckedFunc<>(this.func).apply(this.iterator.next());
+        try {
+            return this.func.apply(this.iterator.next());
+            // @checkstyle IllegalCatchCheck (1 line)
+        } catch (final Exception ex) {
+            throw new IllegalStateException(ex);
+        }
     }
 
     @Override
diff --git a/src/main/java/org/cactoos/package-info.java b/src/main/java/org/cactoos/package-info.java
index fce172b3..0fea2db6 100644
--- a/src/main/java/org/cactoos/package-info.java
+++ b/src/main/java/org/cactoos/package-info.java
@@ -25,17 +25,9 @@
 /**
  * Cactoos.
  *
- * <p>This is a collection of Java primitives designed in a rather
- * extreme object-objected manner. More details about our design
- * decisions you can find in this
- * <a href="https://github.com/yegor256/cactoos/blob/master/README.md">README</a>.
- * Feel free to contribute, if you find issues or have a need for
- * some other primitives.</p>
- *
  * @author Yegor Bugayenko (yegor256@gmail.com)
  * @version $Id$
  * @since 0.1
- * @see <a href="http://www.cactoos.org">Project site www.cactoos.org</a>
- * @see <a href="https://github.com/yegor256/cactoos">GitHub repository</a>
+ * @see <a href="http://www.takes.org">project site www.cactoos.org</a>
  */
 package org.cactoos;
diff --git a/src/main/java/org/cactoos/text/TextAsBool.java b/src/main/java/org/cactoos/text/TextAsBool.java
deleted file mode 100644
index 23639716..00000000
--- a/src/main/java/org/cactoos/text/TextAsBool.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.cactoos.Scalar;
-import org.cactoos.Text;
-
-/**
- * Text as {@link Boolean}.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- */
-public final class TextAsBool implements Scalar<Boolean> {
-
-    /**
-     * Source text.
-     */
-    private final Text text;
-
-    /**
-     * Ctor.
-     *
-     * @param string True or false string
-     */
-    public TextAsBool(final String string) {
-        this(new StringAsText(string));
-    }
-
-    /**
-     * Ctor.
-     *
-     * @param text True or false text
-     */
-    public TextAsBool(final Text text) {
-        this.text = text;
-    }
-
-    @Override
-    public Boolean asValue() throws IOException {
-        return Boolean.valueOf(this.text.asString());
-    }
-}
diff --git a/src/main/java/org/cactoos/text/TextAsDouble.java b/src/main/java/org/cactoos/text/TextAsDouble.java
deleted file mode 100644
index 2e2b1722..00000000
--- a/src/main/java/org/cactoos/text/TextAsDouble.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.cactoos.Scalar;
-import org.cactoos.Text;
-
-/**
- * Text as {@link Double}.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- */
-public final class TextAsDouble implements Scalar<Double> {
-
-    /**
-     * Source text.
-     */
-    private final Text text;
-
-    /**
-     * Ctor.
-     *
-     * @param string Number-string
-     */
-    public TextAsDouble(final String string) {
-        this(new StringAsText(string));
-    }
-
-    /**
-     * Ctor.
-     *
-     * @param text Number-text
-     */
-    public TextAsDouble(final Text text) {
-        this.text = text;
-    }
-
-    @Override
-    public Double asValue() throws IOException {
-        return Double.valueOf(this.text.asString());
-    }
-}
diff --git a/src/main/java/org/cactoos/text/TextAsFloat.java b/src/main/java/org/cactoos/text/TextAsFloat.java
deleted file mode 100644
index 82552b0d..00000000
--- a/src/main/java/org/cactoos/text/TextAsFloat.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.cactoos.Scalar;
-import org.cactoos.Text;
-
-/**
- * Text as {@link Float}.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- */
-public final class TextAsFloat implements Scalar<Float> {
-
-    /**
-     * Source text.
-     */
-    private final Text text;
-
-    /**
-     * Ctor.
-     *
-     * @param string Number-string
-     */
-    public TextAsFloat(final String string) {
-        this(new StringAsText(string));
-    }
-
-    /**
-     * Ctor.
-     *
-     * @param text Number-text
-     */
-    public TextAsFloat(final Text text) {
-        this.text = text;
-    }
-
-    @Override
-    public Float asValue() throws IOException {
-        return Float.valueOf(this.text.asString());
-    }
-}
diff --git a/src/main/java/org/cactoos/text/TextAsInt.java b/src/main/java/org/cactoos/text/TextAsInt.java
deleted file mode 100644
index af00d4f6..00000000
--- a/src/main/java/org/cactoos/text/TextAsInt.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.cactoos.Scalar;
-import org.cactoos.Text;
-
-/**
- * Text as {@link Integer}.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- */
-public final class TextAsInt implements Scalar<Integer> {
-
-    /**
-     * Source text.
-     */
-    private final Text text;
-
-    /**
-     * Ctor.
-     *
-     * @param string Number-string
-     */
-    public TextAsInt(final String string) {
-        this(new StringAsText(string));
-    }
-
-    /**
-     * Ctor.
-     *
-     * @param text Number-text
-     */
-    public TextAsInt(final Text text) {
-        this.text = text;
-    }
-
-    @Override
-    public Integer asValue() throws IOException {
-        return Integer.valueOf(this.text.asString());
-    }
-}
diff --git a/src/main/java/org/cactoos/text/TextAsLong.java b/src/main/java/org/cactoos/text/TextAsLong.java
deleted file mode 100644
index 68954e55..00000000
--- a/src/main/java/org/cactoos/text/TextAsLong.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.cactoos.Scalar;
-import org.cactoos.Text;
-
-/**
- * Text as {@link Long}.
- *
- * <p>There is no thread-safety guarantee.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- */
-public final class TextAsLong implements Scalar<Long> {
-
-    /**
-     * Source text.
-     */
-    private final Text text;
-
-    /**
-     * Ctor.
-     *
-     * @param string Number-string
-     */
-    public TextAsLong(final String string) {
-        this(new StringAsText(string));
-    }
-
-    /**
-     * Ctor.
-     *
-     * @param text Number-text
-     */
-    public TextAsLong(final Text text) {
-        this.text = text;
-    }
-
-    @Override
-    public Long asValue() throws IOException {
-        return Long.valueOf(this.text.asString());
-    }
-}


Test patch:
diff --git a/src/test/java/org/cactoos/func/UncheckedFuncTest.java b/src/main/java/org/cactoos/text/ReversedText.java
similarity index 70%
rename from src/test/java/org/cactoos/func/UncheckedFuncTest.java
rename to src/main/java/org/cactoos/text/ReversedText.java
index 1ec4ee5f..e32e0be6 100644
--- a/src/test/java/org/cactoos/func/UncheckedFuncTest.java
+++ b/src/main/java/org/cactoos/text/ReversedText.java
@@ -21,29 +21,36 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package org.cactoos.func;
+package org.cactoos.text;
 
 import java.io.IOException;
-import org.cactoos.Func;
-import org.junit.Test;
+import org.cactoos.Text;
 
 /**
- * Test case for {@link UncheckedFunc}.
+ * Reverse the Text.
  *
- * @author Yegor Bugayenko (yegor256@gmail.com)
+ * @author Mehmet Yildirim (memoyil@gmail.com)
  * @version $Id$
  * @since 0.2
- * @checkstyle JavadocMethodCheck (500 lines)
  */
-public final class UncheckedFuncTest {
+public final class ReversedText implements Text {
 
-    @Test(expected = RuntimeException.class)
-    public void rethrowsCheckedToUncheckedException() {
-        new UncheckedFunc<>(
-            (Func<Integer, String>) i -> {
-                throw new IOException("intended");
-            }
-        ).apply(1);
+    /**
+     * The text.
+     */
+    private final Text origin;
+
+    /**
+     * Ctor.
+     *
+     * @param text The text
+     */
+    public ReversedText(final Text text) {
+        this.origin = text;
     }
 
+    @Override
+    public String asString() throws IOException {
+        return new StringBuilder(this.origin.asString()).reverse().toString();
+    }
 }
diff --git a/src/test/java/org/cactoos/func/ConstFuncTest.java b/src/test/java/org/cactoos/func/ConstFuncTest.java
deleted file mode 100644
index 53823302..00000000
--- a/src/test/java/org/cactoos/func/ConstFuncTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.func;
-
-import org.cactoos.FuncApplies;
-import org.hamcrest.MatcherAssert;
-import org.junit.Test;
-
-/**
- * Test case for {@link ConstFunc}.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @since 0.2
- * @checkstyle JavadocMethodCheck (500 lines)
- */
-public final class ConstFuncTest {
-
-    @Test
-    public void returnsConstant() {
-        MatcherAssert.assertThat(
-            "Can't return a constant",
-            new ConstFunc<>(1),
-            new FuncApplies<>(-1, 1)
-        );
-    }
-
-}
diff --git a/src/test/java/org/cactoos/func/FuncAsRunnableTest.java b/src/test/java/org/cactoos/func/FuncAsRunnableTest.java
deleted file mode 100644
index 8d3571f9..00000000
--- a/src/test/java/org/cactoos/func/FuncAsRunnableTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.func;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-import org.hamcrest.MatcherAssert;
-import org.junit.Test;
-
-/**
- * Test case for {@link FuncAsRunnable}.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @since 0.2
- * @checkstyle JavadocMethodCheck (500 lines)
- */
-public final class FuncAsRunnableTest {
-
-    @Test
-    public void convertsFuncIntoRunnable() throws Exception {
-        final AtomicBoolean done = new AtomicBoolean();
-        MatcherAssert.assertThat(
-            "Can't execute Runnable",
-            new FuncAsRunnable(
-                input -> {
-                    done.set(true);
-                    return 1;
-                }
-            ),
-            new FuncAsMatcher<Runnable>(
-                input -> {
-                    input.run();
-                    return done.get();
-                }
-            )
-        );
-    }
-
-}
diff --git a/src/test/java/org/cactoos/func/FuncWithCallbackTest.java b/src/test/java/org/cactoos/func/FuncWithCallbackTest.java
index 44f4c89f..e4103ed4 100644
--- a/src/test/java/org/cactoos/func/FuncWithCallbackTest.java
+++ b/src/test/java/org/cactoos/func/FuncWithCallbackTest.java
@@ -24,7 +24,7 @@
 package org.cactoos.func;
 
 import java.io.IOException;
-import org.cactoos.FuncApplies;
+import org.cactoos.Func;
 import org.hamcrest.MatcherAssert;
 import org.hamcrest.Matchers;
 import org.junit.Test;
@@ -44,10 +44,10 @@ public final class FuncWithCallbackTest {
         MatcherAssert.assertThat(
             "Can't use the main function if no exception",
             new FuncWithCallback<>(
-                input -> "It's success",
+                (Func<Integer, String>) input -> "It's success",
                 ex -> "In case of failure..."
-            ),
-            new FuncApplies<>(1, Matchers.containsString("success"))
+            ).apply(1),
+            Matchers.containsString("success")
         );
     }
 
@@ -56,12 +56,12 @@ public final class FuncWithCallbackTest {
         MatcherAssert.assertThat(
             "Can't use the callback in case of exception",
             new FuncWithCallback<>(
-                input -> {
+                (Func<Integer, String>) input -> {
                     throw new IOException("Failure");
                 },
                 ex -> "Never mind"
-            ),
-            new FuncApplies<>(1, Matchers.containsString("Never"))
+            ).apply(1),
+            Matchers.containsString("Never")
         );
     }
 
diff --git a/src/test/java/org/cactoos/func/UncheckedProcTest.java b/src/test/java/org/cactoos/func/UncheckedProcTest.java
deleted file mode 100644
index 5e0c7d16..00000000
--- a/src/test/java/org/cactoos/func/UncheckedProcTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.func;
-
-import java.io.IOException;
-import org.junit.Test;
-
-/**
- * Test case for {@link UncheckedProc}.
- *
- * @author Yegor Bugayenko (yegor256@gmail.com)
- * @version $Id$
- * @since 0.2
- * @checkstyle JavadocMethodCheck (500 lines)
- */
-public final class UncheckedProcTest {
-
-    @Test(expected = RuntimeException.class)
-    public void rethrowsCheckedToUncheckedException() {
-        new UncheckedProc<>(
-            input -> {
-                throw new IOException("intended");
-            }
-        ).exec(1);
-    }
-
-}
diff --git a/src/test/java/org/cactoos/io/FileAsInputTest.java b/src/test/java/org/cactoos/io/FileAsInputTest.java
index 724e4101..ffba1b0b 100644
--- a/src/test/java/org/cactoos/io/FileAsInputTest.java
+++ b/src/test/java/org/cactoos/io/FileAsInputTest.java
@@ -51,7 +51,7 @@ public final class FileAsInputTest {
             "Can't read file content",
             new BytesAsText(
                 new InputAsBytes(
-                    new PathAsInput(temp)
+                    new FileAsInput(temp.toFile())
                 )
             ),
             new TextHasString(content)
diff --git a/src/test/java/org/cactoos/io/ResourceAsInputTest.java b/src/test/java/org/cactoos/io/ResourceAsInputTest.java
index 20e2e947..d2b9e10f 100644
--- a/src/test/java/org/cactoos/io/ResourceAsInputTest.java
+++ b/src/test/java/org/cactoos/io/ResourceAsInputTest.java
@@ -60,5 +60,4 @@ public final class ResourceAsInputTest {
             )
         );
     }
-
 }
diff --git a/src/test/java/org/cactoos/io/TeeInputTest.java b/src/test/java/org/cactoos/io/TeeInputTest.java
index ca14a555..78e684c5 100644
--- a/src/test/java/org/cactoos/io/TeeInputTest.java
+++ b/src/test/java/org/cactoos/io/TeeInputTest.java
@@ -85,7 +85,7 @@ public final class TeeInputTest {
                                 new StringAsText("Hello, друг!")
                             )
                         ),
-                        new PathAsOutput(temp)
+                        new FileAsOutput(temp.toFile())
                     )
                 )
             ),
diff --git a/src/test/java/org/cactoos/list/AllOfTest.java b/src/test/java/org/cactoos/list/AllOfTest.java
index baa1f2bb..a440ace2 100644
--- a/src/test/java/org/cactoos/list/AllOfTest.java
+++ b/src/test/java/org/cactoos/list/AllOfTest.java
@@ -26,9 +26,8 @@ package org.cactoos.list;
 import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
-import org.cactoos.Proc;
+import org.cactoos.Func;
 import org.cactoos.ScalarHasValue;
-import org.cactoos.func.AlwaysTrueFunc;
 import org.cactoos.func.FuncAsMatcher;
 import org.hamcrest.MatcherAssert;
 import org.hamcrest.Matchers;
@@ -51,7 +50,7 @@ public final class AllOfTest {
             new AllOf(
                 new TransformedIterable<>(
                     new ArrayAsIterable<>("hello", "world"),
-                    list::add
+                    (Func.Quiet<String>) list::add
                 )
             ),
             new ScalarHasValue<>(
@@ -73,9 +72,7 @@ public final class AllOfTest {
             new AllOf(
                 new IterableAsBooleans<>(
                     Collections.emptyList(),
-                    new AlwaysTrueFunc<>(
-                        (Proc<String>) list::add
-                    )
+                    (Func.Quiet<String>) list::add
                 )
             ),
             new ScalarHasValue<>(
diff --git a/src/test/java/org/cactoos/func/FuncAsCallableTest.java b/src/test/java/org/cactoos/text/ReversedTextTest.java
similarity index 78%
rename from src/test/java/org/cactoos/func/FuncAsCallableTest.java
rename to src/test/java/org/cactoos/text/ReversedTextTest.java
index 23807c35..665475cf 100644
--- a/src/test/java/org/cactoos/func/FuncAsCallableTest.java
+++ b/src/test/java/org/cactoos/text/ReversedTextTest.java
@@ -21,29 +21,30 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-package org.cactoos.func;
+package org.cactoos.text;
 
+import org.cactoos.TextHasString;
 import org.hamcrest.MatcherAssert;
-import org.hamcrest.Matchers;
 import org.junit.Test;
 
 /**
- * Test case for {@link FuncAsCallable}.
+ * Test case for {@link ReversedText}.
  *
- * @author Yegor Bugayenko (yegor256@gmail.com)
+ * @author Mehmet Yildirim (memoyil@gmail.com)
  * @version $Id$
  * @since 0.2
  * @checkstyle JavadocMethodCheck (500 lines)
  */
-public final class FuncAsCallableTest {
+public final class ReversedTextTest {
 
     @Test
-    public void convertsFuncIntoCallable() throws Exception {
+    public void reverseText() {
         MatcherAssert.assertThat(
-            new FuncAsCallable<>(
-                input -> 1
-            ).call(),
-            Matchers.equalTo(1)
+            "Can't reverse a text",
+            new ReversedText(
+                new StringAsText("Hello!")
+            ),
+            new TextHasString("!olleH")
         );
     }
 
diff --git a/src/test/java/org/cactoos/text/TextAsBoolTest.java b/src/test/java/org/cactoos/text/TextAsBoolTest.java
deleted file mode 100644
index 0d8281a3..00000000
--- a/src/test/java/org/cactoos/text/TextAsBoolTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.hamcrest.MatcherAssert;
-import org.hamcrest.Matchers;
-import org.junit.Test;
-
-/**
- * Test case for {@link TextAsBool}.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- * @checkstyle JavadocMethodCheck (500 lines)
- */
-public final class TextAsBoolTest {
-
-    @Test
-    public void trueTest() throws IOException {
-        MatcherAssert.assertThat(
-            "Can't parse 'true' string",
-            new TextAsBool("true").asValue(),
-            Matchers.equalTo(true)
-        );
-    }
-
-    @Test
-    public void falseTest() throws IOException {
-        MatcherAssert.assertThat(
-            "Can't parse 'false' string",
-            new TextAsBool("false").asValue(),
-            Matchers.equalTo(false)
-        );
-    }
-}
diff --git a/src/test/java/org/cactoos/text/TextAsDoubleTest.java b/src/test/java/org/cactoos/text/TextAsDoubleTest.java
deleted file mode 100644
index 367a6b5e..00000000
--- a/src/test/java/org/cactoos/text/TextAsDoubleTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.hamcrest.MatcherAssert;
-import org.hamcrest.Matchers;
-import org.junit.Test;
-
-/**
- * Test case for {@link TextAsDouble}.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- * @checkstyle JavadocMethodCheck (500 lines)
- */
-public final class TextAsDoubleTest {
-
-    @Test
-    public strictfp void numberTest() throws IOException {
-        MatcherAssert.assertThat(
-            "Can't parse double number",
-            new TextAsDouble("185.65156465123").asValue(),
-            // @checkstyle MagicNumber (1 line)
-            Matchers.equalTo(185.65156465123)
-        );
-    }
-}
diff --git a/src/test/java/org/cactoos/text/TextAsFloatTest.java b/src/test/java/org/cactoos/text/TextAsFloatTest.java
deleted file mode 100644
index af0a6345..00000000
--- a/src/test/java/org/cactoos/text/TextAsFloatTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.hamcrest.MatcherAssert;
-import org.hamcrest.Matchers;
-import org.junit.Test;
-
-/**
- * Test case for {@link TextAsFloat}.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- * @checkstyle JavadocMethodCheck (500 lines)
- */
-public final class TextAsFloatTest {
-
-    @Test
-    public strictfp void numberTest() throws IOException {
-        MatcherAssert.assertThat(
-            "Can't parse float number",
-            new TextAsFloat("1656.894").asValue(),
-            // @checkstyle MagicNumber (1 line)
-            Matchers.equalTo(1656.894F)
-        );
-    }
-}
diff --git a/src/test/java/org/cactoos/text/TextAsIntTest.java b/src/test/java/org/cactoos/text/TextAsIntTest.java
deleted file mode 100644
index cf4b162a..00000000
--- a/src/test/java/org/cactoos/text/TextAsIntTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.hamcrest.MatcherAssert;
-import org.hamcrest.Matchers;
-import org.junit.Test;
-
-/**
- * Test case for {@link TextAsInt}.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- * @checkstyle JavadocMethodCheck (500 lines)
- */
-public final class TextAsIntTest {
-
-    @Test
-    public void numberTest() throws IOException {
-        MatcherAssert.assertThat(
-            "Can't parse integer number",
-            new TextAsInt("1867892354").asValue(),
-            // @checkstyle MagicNumber (1 line)
-            Matchers.equalTo(1867892354)
-        );
-    }
-}
diff --git a/src/test/java/org/cactoos/text/TextAsLongTest.java b/src/test/java/org/cactoos/text/TextAsLongTest.java
deleted file mode 100644
index b3a2749a..00000000
--- a/src/test/java/org/cactoos/text/TextAsLongTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * The MIT License (MIT)
- *
- * Copyright (c) 2017 Yegor Bugayenko
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-package org.cactoos.text;
-
-import java.io.IOException;
-import org.hamcrest.MatcherAssert;
-import org.hamcrest.Matchers;
-import org.junit.Test;
-
-/**
- * Test case for {@link TextAsLong}.
- *
- * @author Kirill (g4s8.public@gmail.com)
- * @version $Id$
- * @since 0.2
- * @checkstyle JavadocMethodCheck (500 lines)
- */
-public final class TextAsLongTest {
-
-    @Test
-    public void numberTest() throws IOException {
-        MatcherAssert.assertThat(
-            "Can't parse long number",
-            new TextAsLong("186789235425346").asValue(),
-            // @checkstyle MagicNumber (1 line)
-            Matchers.equalTo(186789235425346L)
-        );
-    }
-}