Package easyliq.Calculators

Source Code of easyliq.Calculators.DensityTest

package easyliq.Calculators;

import static org.junit.Assert.*;

import java.util.*;
import java.util.Map.Entry;
import org.junit.Test;
import easyliq.CalculationParameters;
import easyliq.Parameter;

public class DensityTest {

  @Test
  public void testDensityCalculator() throws Exception {
    HashMap<Parameter, Double> parameters = new HashMap<Parameter, Double>();
    parameters.put(Parameter.RHO_F, 1000.0);
    parameters.put(Parameter.RHO_S, 2250.0);
    parameters.put(Parameter.RHO_SUS, 1200.0);
    parameters.put(Parameter.CM, 0.3);
    parameters.put(Parameter.CV, 0.16);
    parameters.put(Parameter.C, 360.0);

    Parameter tests[][] = new Parameter[][] {
        new Parameter[] { Parameter.RHO_F, Parameter.RHO_S,
            Parameter.RHO_SUS },
        new Parameter[] { Parameter.RHO_F, Parameter.RHO_S,
            Parameter.CM },
        new Parameter[] { Parameter.RHO_F, Parameter.RHO_S,
            Parameter.CV },
        new Parameter[] { Parameter.RHO_F, Parameter.RHO_S, Parameter.C },
        new Parameter[] { Parameter.RHO_S, Parameter.RHO_SUS,
            Parameter.CM },
        new Parameter[] { Parameter.RHO_S, Parameter.RHO_SUS,
            Parameter.CV },
        new Parameter[] { Parameter.RHO_S, Parameter.RHO_SUS,
            Parameter.C },
        new Parameter[] { Parameter.RHO_F, Parameter.RHO_SUS,
            Parameter.CM },
        new Parameter[] { Parameter.RHO_F, Parameter.RHO_SUS,
            Parameter.CV },
        new Parameter[] { Parameter.RHO_F, Parameter.RHO_SUS,
            Parameter.C }, };

    CalculationParameters expect = TestUtils
        .GetCalcParamsFromMap(parameters);

    String err = "";
    for (Parameter[] inputs : tests) {
      CalculationParameters calcParams = new CalculationParameters();
      for (Entry<Parameter, Double> p : parameters.entrySet()) {
        Parameter key = p.getKey();
        if (Arrays.asList(inputs).contains(key)) {
          calcParams.addKnown(key, p.getValue());
        } else {
          calcParams.addUnknown(key);
        }
      }
      String before = calcParams.toString();
      new Density().Calculate(calcParams);
      if (!calcParams.toString().equals(expect.toString())) {
        err = err + "\nbefore:\n    " + before + "\nexpect:\n    "
            + expect.toString() + "\ngot:\n    "
            + calcParams.toString() + "\n";
      }
    }
    if (err.length() > 0) {
      fail(err);
    }
  }

  @Test
  public void testCmRhoEquation() throws Exception {
    HashMap<Parameter, Double> parameters = new HashMap<Parameter, Double>();
    parameters.put(Parameter.RHO_F, 1000.0);
    parameters.put(Parameter.RHO_S, 2250.0);
    parameters.put(Parameter.RHO_SUS, 1200.0);
    parameters.put(Parameter.CM, 0.3);

    TestUtils.TestEquation(parameters,
        new easyliq.Calculators.Density.CmRhoEquation());
  }

  @Test
  public void testCvRhoEquation() throws Exception {
    HashMap<Parameter, Double> parameters = new HashMap<Parameter, Double>();
    parameters.put(Parameter.RHO_F, 1000.0);
    parameters.put(Parameter.RHO_S, 2250.0);
    parameters.put(Parameter.RHO_SUS, 1200.0);
    parameters.put(Parameter.CV, 0.16);

    TestUtils.TestEquation(parameters,
        new easyliq.Calculators.Density.CvRhoEquation());
  }

  @Test
  public void testCRhoEquation() throws Exception {
    HashMap<Parameter, Double> parameters = new HashMap<Parameter, Double>();
    parameters.put(Parameter.RHO_F, 1000.0);
    parameters.put(Parameter.RHO_S, 2250.0);
    parameters.put(Parameter.RHO_SUS, 1200.0);
    parameters.put(Parameter.C, 360.0);

    TestUtils.TestEquation(parameters,
        new easyliq.Calculators.Density.CRhoEquation());
  }
}
TOP

Related Classes of easyliq.Calculators.DensityTest

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.