Ejemplo n.º 1
0
  /** Run some test code. Any "public void test*()" method starting with "test" will be used */
  public void testEverything() {
    Almost a = new Almost();

    // should obviously succeed.  No precision involved
    assert (a.between(1., 0., 2.));
    assert (a.between(-1., 0., -2.));
    assert (a.between(-1., -0.5, -2.));
    assert (a.outside(1., 0., 2.) == 0);
    assert (a.outside(1., 0.5, 2.) == 0);
    assert (a.outside(-1., 0., -2.) == 0);
    assert (a.outside(-1., -0.5, -2.) == 0);
    assert (a.cmp(1., 0.) > 0);
    assert (a.cmp(0., 1.) < 0);
    assert (a.cmp(1., 1.) == 0);
    assert (a.cmp(0., 0.) == 0);
    assert (a.equal(3., 3.));
    assert (a.equal(0., 0.));
    assert (a.zero(0.));

    // Succeed if precision handled correctly
    assert (a.zero(a.getMinValue() / 2.));
    assert (!a.zero(a.getMinValue() * 2.));
    assert (1. != 1. + a.getEpsilon());
    assert (1. != 1. - a.getEpsilon());
    assert (0. != a.getMinValue());
    assert (a.equal(1., 1. + a.getEpsilon() / 2.));
    assert (!a.equal(1., 1. + a.getEpsilon() * 2.1));
    assert (a.equal(1., 1.000000000001));
    assert (a.getMinValue() / 2. > 0.);
    assert (a.equal(0., a.getMinValue() / 2.));
    assert (a.between(1., 1.000000000001, 2.));
    assert (a.between(-1., -1.000000000001, -2.));
    assert (a.outside(1., 1.000000000001, 2.) == 0);
    assert (a.cmp(1., 1.000000000001) == 0);
  }