package com.nominanuda.lang;
import java.util.function.Function;
import org.junit.Assert;
import org.junit.Test;
import com.nominanuda.lang.Functions.Chain;
public class FunctionsTest {
@Test
public void testChain() {
String result = new Chain<Integer>(1).apply(i -> {
return i.toString();
}).apply(s -> {
return s + "a";
}).get();
Assert.assertEquals(result, "1a");
}
@Test
public void testFunctions() {
String result = new Functions<Integer, String>(new Function<Integer, String>() {
@Override
public String apply(Integer t) {
return t.toString();
}
}, new Function<String, String>() {
@Override
public String apply(String t) {
return t + "a";
}
}).apply(1);
Assert.assertEquals(result, "1a");
}
}