Upload files to "java/wspp"
This commit is contained in:
89
java/wspp/WsppTest.java
Normal file
89
java/wspp/WsppTest.java
Normal file
@@ -0,0 +1,89 @@
|
||||
package wspp;
|
||||
|
||||
import base.Named;
|
||||
import base.Selector;
|
||||
import java.util.Comparator;
|
||||
import java.util.Map;
|
||||
import java.util.function.IntFunction;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
/**
|
||||
* @author Georgiy Korneev (kgeorgiy@kgeorgiy.info)
|
||||
*/
|
||||
public final class WsppTest {
|
||||
|
||||
// === Base
|
||||
private static final Named<Comparator<Map.Entry<String, Integer>>> INPUT =
|
||||
Named.of("", Comparator.comparingInt(e -> 0));
|
||||
private static final Named<IntFunction<IntStream>> ALL = Named.of(
|
||||
"",
|
||||
size -> IntStream.range(0, size)
|
||||
);
|
||||
private static final Named<WsppTester.Extractor<Object>> WSPP = Named.of(
|
||||
"",
|
||||
(r, l, L, g, G) -> g
|
||||
);
|
||||
private static final Named<String> NONE = Named.of("", "");
|
||||
|
||||
// === 3637
|
||||
private static final Named<Comparator<Map.Entry<String, Integer>>> LENGTH =
|
||||
Named.of(
|
||||
"",
|
||||
Map.Entry.comparingByKey(Comparator.comparingInt(String::length))
|
||||
);
|
||||
private static final Named<IntFunction<IntStream>> LAST = Named.of(
|
||||
"Last",
|
||||
size -> IntStream.of(size - 1)
|
||||
);
|
||||
private static final Named<String> JAVA = Named.of("", "XHB7TmR9JF8=");
|
||||
|
||||
// === 3839
|
||||
private static final Named<IntFunction<IntStream>> MIDDLE = Named.of(
|
||||
"Middle",
|
||||
size -> IntStream.of(size / 2)
|
||||
);
|
||||
|
||||
// === 3435
|
||||
public static final WsppTester.Extractor<String> POSITION = (
|
||||
r,
|
||||
l,
|
||||
L,
|
||||
g,
|
||||
G
|
||||
) -> r + ":" + (G - g + 1);
|
||||
|
||||
// === Common
|
||||
public static final Selector SELECTOR = new Selector(WsppTester.class)
|
||||
.variant("Base", WsppTester.variant(INPUT, ALL, WSPP, NONE))
|
||||
.variant("3637", WsppTester.variant(LENGTH, LAST, WSPP, JAVA))
|
||||
.variant("3839", WsppTester.variant(LENGTH, MIDDLE, WSPP, JAVA))
|
||||
.variant(
|
||||
"3435",
|
||||
WsppTester.variant(
|
||||
LENGTH,
|
||||
ALL,
|
||||
Named.of("Position", POSITION),
|
||||
JAVA
|
||||
)
|
||||
)
|
||||
.variant(
|
||||
"3233",
|
||||
WsppTester.variant(INPUT, ALL, Named.of("Pos", POSITION), JAVA)
|
||||
)
|
||||
.variant("4142", WsppTester.variant(LENGTH, LAST, WSPP, JAVA))
|
||||
.variant(
|
||||
"4749",
|
||||
WsppTester.variant(
|
||||
LENGTH,
|
||||
ALL,
|
||||
Named.of("Position", POSITION),
|
||||
JAVA
|
||||
)
|
||||
);
|
||||
|
||||
private WsppTest() {}
|
||||
|
||||
public static void main(final String... args) {
|
||||
SELECTOR.main(args);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user