package com.ctriposs.bigmap.utils; import static org.junit.Assert.*; import org.junit.Test; import com.ctriposs.bigmap.utils.Calculator; public class CalculatorTest { @Test public void testCalculator() { // test mod assertTrue(Calculator.mod(1024, 1) == 0); assertTrue(Calculator.mod(1024, 2) == 0); assertTrue(Calculator.mod(1024, 5) == 0); assertTrue(Calculator.mod(1024, 10) == 0); assertTrue(Calculator.mod(1025, 10) == 1); assertTrue(Calculator.mod(1027, 10) == 3); assertTrue(Calculator.mod(0, 10) == 0); assertTrue(Calculator.mod(Long.MAX_VALUE, 10) == 1023); for(int i = 0; i <= 1023; i++) { assertTrue(Calculator.mod(Long.MAX_VALUE - i, 10) == 1023 - i); } // test mul for(int i = 0; i <= 60; i++) { assertTrue(Calculator.mul(Integer.MAX_VALUE, i) == Integer.MAX_VALUE * (long)Math.pow(2, i)); } // test div for(int i = 0; i <= 60; i++) { assertTrue(Calculator.div(Long.MAX_VALUE, i) == Long.MAX_VALUE / (long)Math.pow(2, i)); } } }