package org.nutz.lang; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.nutz.lang.Maths.bit; import static org.nutz.lang.Maths.isMask; import static org.nutz.lang.Maths.isMaskAll; import static org.nutz.lang.Maths.isNoMask; import org.junit.Test; public class MathsTest { private int[] nums = new int[]{12, 5, 26, 33, -4, 11, 8}; @Test public void testIsMask() { assertTrue(isMask(bit("100"), bit("110"))); assertFalse(isMask(bit("100"), bit("10010"))); } @Test public void testIsMaskAll() { assertFalse(isMaskAll(bit("100"), bit("110"))); assertTrue(isMaskAll(bit("100101111"), bit("001110"))); } @Test public void test_extract_int() { assertEquals(3, Maths.extract(7, 1, 3)); assertEquals(1, Maths.extract(7, 0, 1)); assertEquals(3, Maths.extract(255, 4, 6)); } @Test public void test_is_not_mask_all() { assertFalse(isNoMask(bit("0110"), bit("1100"))); assertFalse(isNoMask(bit("0100"), bit("1100"))); assertFalse(isNoMask(bit("1000"), bit("1100"))); assertTrue(isNoMask(bit("110011"), bit("1100"))); assertFalse(isNoMask(bit("111011"), bit("1100"))); } @Test public void test_max() throws Exception { assertEquals(Maths.max(nums), 33); } @Test public void test_min() throws Exception { assertEquals(Maths.min(nums), -4); } }