package org.enumerable.lambda.support.functionaljava;
import static fj.Ord.*;
import static fj.Show.*;
import static fj.data.Set.*;
import static org.enumerable.lambda.support.functionaljava.Array_bind.*;
import static org.enumerable.lambda.support.functionaljava.LambdaFunctionalJava.*;
import static org.junit.Assert.*;
import org.enumerable.lambda.annotation.LambdaParameter;
import org.junit.Test;
import fj.Ord;
import fj.Ordering;
import fj.data.Set;
public final class Set_map {
@LambdaParameter
static Integer i;
@LambdaParameter
static Integer a1, a2;
@Test
public void test() {
final Set<Integer> a = empty(intOrd()).insert(1).insert(2).insert(3).insert(4).insert(5).insert(6);
final Set<Integer> b = a.map(intOrd(), λ(i, i / 2));
assertEquals("<3,2,1,0>", listShow(intShow()).showS(b.toList())); // [3,2,1,0]
}
public static Ord<Integer> intOrd() {
return ord(λ(a1, λ(a2, a1.compareTo(a2) < 0 ? Ordering.LT : a1.compareTo(a2) == 0 ? Ordering.EQ : Ordering.GT)));
}
}