Package com.adahas.tools.jmxeval.util.test

Source Code of com.adahas.tools.jmxeval.util.test.NagiosRangeTest

package com.adahas.tools.jmxeval.util.test;

import com.adahas.tools.jmxeval.util.NagiosRange;
import static org.junit.Assert.*;

import org.junit.Test;

public class NagiosRangeTest {

  @Test
  public void testNagiosRange() {
    String [] range_specs = {
        "10",
        "10:",
        "~:10",
        "10:20",
        ":10",
        "10:~",
        "~:~",
        ":",
        ":~",
        "~:",
        "",
        };
    for (String range_spec:range_specs)
    {
      try {
        NagiosRange range  = new NagiosRange(range_spec);
      } catch (Exception e) {
        fail("exception for range:"+range_spec+" message: "+e.getMessage());
      }
    }
    for (String range_spec:range_specs)
    {
      range_spec = "@"+range_spec;
      try {
        NagiosRange range  = new NagiosRange(range_spec);
      } catch (Exception e) {
        fail("exception for range="+range_spec+" message: "+e.getMessage());
      }
    }
  }

  @Test
  public void testBadNagiosRange()
  {
    String [] range_specs = { "20:10", "x", "@x"};
    for (String range_spec:range_specs)
    {
      try {
        NagiosRange range = new NagiosRange(range_spec);
        fail("no exception generated for bad range="+range_spec);
      } catch (Exception e) {
        // ignored
      }
      try {
        NagiosRange irange = new NagiosRange("@"+range_spec);
        fail("no exception generated for bad inverted range="+range_spec);
      } catch (Exception e) {
        // ignored
      }
    }
  }
 
  @Test
  public void testIsValueOK() {
    String range_spec = "10:20";
    double[] good_values = {10, 20, 15};
    double[] bad_values  = {9.99, 20.001, -1, 0};
    testRangeValues(range_spec, good_values, bad_values);
    testRangeValues("@"+range_spec, bad_values, good_values);
  }
 
  @Test
  public void testIsValueOK_NI() {
    String range_spec = "~:0";
    double[] good_values = {Double.NEGATIVE_INFINITY, -2000.1, 0, -0};
    double[] bad_values  = {Double.POSITIVE_INFINITY, 0.1, 200.2134};
    testRangeValues(range_spec, good_values, bad_values);
    testRangeValues("@"+range_spec, bad_values, good_values);   
  }
 
  @Test
  public void testIsValueOK_PI() {
    String range_spec = "0:~";
    double[] good_values = {Double.POSITIVE_INFINITY, 0, 200.2134};
    double[] bad_values  = {Double.NEGATIVE_INFINITY, -2000.1, -0.1};
    testRangeValues(range_spec, good_values, bad_values);
    testRangeValues("@"+range_spec, bad_values, good_values);   
  }

  private void testRangeValues(String range_spec, double[] good_values, double[] bad_values) {
    NagiosRange range = new NagiosRange(range_spec);
    for (double value:good_values)
    {
      assertTrue("range="+range_spec+" value="+value, range.isValueOK(value));
    }
    for (double value:bad_values)
    {
      assertFalse("range="+range_spec+" value="+value, range.isValueOK(value));
    }
   
  }
 
}
TOP

Related Classes of com.adahas.tools.jmxeval.util.test.NagiosRangeTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.