@Test
public void pow() {

      assertEquals(1, Numbers.pow(0, 0)); // undefined
    assertEquals(0, Numbers.pow(0, 1));
    assertEquals(0, Numbers.pow(0, 2));
    assertEquals(1, Numbers.pow(1, 0));
    assertEquals(1, Numbers.pow(1, 1));
    assertEquals(1, Numbers.pow(1, 2));
    assertEquals(1, Numbers.pow(2, 0));
    assertEquals(2, Numbers.pow(2, 1));
    assertEquals(4, Numbers.pow(2, 2));
    assertEquals(8, Numbers.pow(2, 3));
    assertEquals(16, Numbers.pow(2, 4));
    assertEquals(32, Numbers.pow(2, 5));
    assertEquals(256, Numbers.pow(2, 8));
    assertEquals(65536, Numbers.pow(2, 16));
    assertEquals(1, Numbers.pow(10, 0));
    assertEquals(10, Numbers.pow(10, 1));
    assertEquals(100, Numbers.pow(10, 2));
    assertEquals(1, Numbers.pow(-1, 0));
    assertEquals(-1, Numbers.pow(-1, 1));
    assertEquals(1, Numbers.pow(-1, 2));
    assertEquals(1, Numbers.pow(-2, 0));
    assertEquals(-2, Numbers.pow(-2, 1));
    assertEquals(4, Numbers.pow(-2, 2));
}