package org.springside.modules.utils.base;
import static org.assertj.core.api.Assertions.*;
import org.junit.Test;
import org.springside.modules.utils.collection.ListUtil;
public class EnumUtilTest {
public enum Options {
A, B, C, D;
}
@Test
public void test() {
assertThat(EnumUtil.generateBits(Options.class, Options.A)).isEqualTo(1);
assertThat(EnumUtil.generateBits(Options.class, Options.A, Options.B)).isEqualTo(3);
assertThat(EnumUtil.generateBits(Options.class, ListUtil.newArrayList(Options.A))).isEqualTo(1);
assertThat(EnumUtil.generateBits(Options.class, ListUtil.newArrayList(Options.A, Options.B))).isEqualTo(3);
assertThat(EnumUtil.processBits(Options.class, 3)).hasSize(2).containsExactly(Options.A, Options.B);
assertThat(EnumUtil.processBits(Options.class,
EnumUtil.generateBits(Options.class, Options.A, Options.C, Options.D))).hasSize(3)
.containsExactly(Options.A, Options.C, Options.D);
}
}