public void testAppend() {
    FloatArrayBuilder builder = new FloatArrayBuilder();
    float[] testdata = new float[1024];
    for (int i = 0; i < testdata.length; i++) {
      testdata[i] = (float) i;
    }

    for (int i = 0; i < testdata.length; i++) {
      assertEquals(i, builder.length());
      builder.append(testdata[i]);
      // check
      {
        float[] result = builder.getBuffer();
        int s = 0;
        int e = builder.length();
        assertEquals(i + 1, e);
        if (i == 0 || i % LEVEL == 0) {
          for (int j = s; j < e; j++) {
            assertTrue((float) j == result[j]);
          }
        }
      }
    }
  }
  public void testRemoveLast() {
    FloatArrayBuilder builder = new FloatArrayBuilder();
    float[] testdata = new float[777];
    for (int i = 0; i < testdata.length; i++) {
      testdata[i] = (float) i;
    }

    builder.clear();
    for (int i = 0; i < testdata.length; i++) {
      assertEquals(i, builder.length());
      builder.append(testdata[i]);
      // check
      {
        float[] result = builder.getBuffer();
        int s = 0;
        int e = builder.length();
        assertEquals(i + 1, e);
        if (i == 0 || i % LEVEL == 0) {
          for (int j = s; j < e; j++) {
            assertEquals((float) j, result[j]);
          }
        }
      }
    }
    for (int i = 0; i < testdata.length; i++) {
      builder.removeLast();
      // check
      {
        float[] result = builder.getBuffer();
        int s = 0;
        int e = builder.length();
        assertEquals(testdata.length - i - 1, e);
        if (i == 0 || i % LEVEL == 0) {
          for (int j = s; j < e; j++) {
            assertEquals((float) j, result[j]);
          }
        }
      }
    }
  }