Package eu.scape_project.planning.converters

Source Code of eu.scape_project.planning.converters.NumberConverterTest

/*******************************************************************************
* Copyright 2006 - 2012 Vienna University of Technology,
* Department of Software Technology and Interactive Systems, IFS
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
******************************************************************************/
package eu.scape_project.planning.converters;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;

import javax.faces.application.FacesMessage;
import javax.faces.convert.ConverterException;

import org.junit.Test;

import eu.scape_project.planning.converters.NumberConverter;

public class NumberConverterTest {

  private NumberConverter numberConverter;
 
  public NumberConverterTest(){
    this.numberConverter = new NumberConverter();
  }
 
  @Test
  public void getAsObject_nullValueThrowsException() {
    try {
      numberConverter.getAsObject(null, null, null);
    }
    catch (ConverterException e) {
      FacesMessage fMessage = e.getFacesMessage();
      assertEquals("Please enter a value", fMessage.getSummary());
      assertEquals(FacesMessage.SEVERITY_ERROR, fMessage.getSeverity());
      return;
    }
   
    fail("Exception is expected.");
  }

  @Test
  public void getAsObject_emptyValueThrowsException() {
    try {
      numberConverter.getAsObject(null, null, "");
    }
    catch (ConverterException e) {
      FacesMessage fMessage = e.getFacesMessage();
      assertEquals("Please enter a value", fMessage.getSummary());
      assertEquals(FacesMessage.SEVERITY_ERROR, fMessage.getSeverity());
      return;
    }
   
    fail("Exception is expected.");
  }
 
  @Test
  public void getAsObject_nonNumericValueThrowsException() {
    try {
      numberConverter.getAsObject(null, null, "12abcd34");
    }
    catch (ConverterException e) {
      FacesMessage fMessage = e.getFacesMessage();
      assertEquals("Please enter a numeric value", fMessage.getSummary());
      assertEquals(FacesMessage.SEVERITY_ERROR, fMessage.getSeverity());
      return;
    }
   
    fail("Exception is expected.");   
  }

  @Test
  public void getAsObject_moreThanOneSeparatorThrowsException() {
    try {
      numberConverter.getAsObject(null, null, "12.000,50");
    }
    catch (ConverterException e) {
      FacesMessage fMessage = e.getFacesMessage();
      assertEquals("Please use . as comma and do not use grouping", fMessage.getSummary());
      assertEquals(FacesMessage.SEVERITY_ERROR, fMessage.getSeverity());
      return;
    }
   
    fail("Exception is expected.");   
  }
 
  @Test
  public void getAsObject_integerNumberConvertsCorrectly() {
    Double result = (Double) numberConverter.getAsObject(null, null, "545");
    assertEquals(545, result, 0.000001);
  }

  @Test
  public void getAsObject_negativeIntegerNumberConvertsCorrectly() {
    Double result = (Double) numberConverter.getAsObject(null, null, "-545");
    assertEquals(-545, result, 0.000001);
  }

  @Test
  public void getAsObject_floatNumberSeparatedByDotConvertsCorrectly() {
    Double result = (Double) numberConverter.getAsObject(null, null, "545.123456");
    assertEquals(545.123456, result, 0.000001);
  }

  @Test
  public void getAsObject_floatNumberSeparatedByCommaConvertsCorrectly() {
    Double result = (Double) numberConverter.getAsObject(null, null, "545,123456");
    assertEquals(545.123456, result, 0.000001);
  }
 
  @Test
  public void getAsString_positiveIntegerAddsComma() {
    String result = numberConverter.getAsString(null, null, 35d);
    assertEquals("35.0" , result);
  }

  @Test
  public void getAsString_negativeIntegerAddsComma() {
    String result = numberConverter.getAsString(null, null, -35d);
    assertEquals("-35.0" , result);
  }
 
  @Test
  public void getAsString_DoubleWith1DecimalConvertsOk() {
    String result = numberConverter.getAsString(null, null, -35.1d);
    assertEquals("-35.1" , result);
  }

  @Test
  public void getAsString_DoubleWith8DecimalConvertsOk() {
    String result = numberConverter.getAsString(null, null, -35000.12345678d);
    assertEquals("-35000.12345678" , result);
  }
}
TOP

Related Classes of eu.scape_project.planning.converters.NumberConverterTest

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.