package org.esmerilprogramming.overtown.http.converter;
import static org.mockito.Mockito.mock;
import org.esmerilprogramming.overtown.http.OvertownRequest;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import static org.mockito.Mockito.*;
public class DoubleConverterTest {
private DoubleConverter translator;
@Before
public void setUp() {
translator = new DoubleConverter();
}
@Test
public void givenADoubleParameterShouldTranslateTheStringValueFromTheRequestToDoubleValue() {
String parameterName = "double";
String stringValue = "10.00";
Double expectedValue = 10.0;
OvertownRequest cloverRequest = mock(OvertownRequest.class);
when(cloverRequest.getParameter(parameterName)).thenReturn(stringValue);
Double val = translator.translate(Double.class, parameterName, cloverRequest);
assertEquals(expectedValue, val, 0.0001);
}
@Test
public void givenADoubleParameterWithWrongStringValueShouldShouldReturnNull() {
String parameterName = "double";
String stringValue = "10,00";
Double expectedValue = null;
OvertownRequest cloverRequest = mock(OvertownRequest.class);
when(cloverRequest.getParameter(parameterName)).thenReturn(stringValue);
Double val = translator.translate(Double.class, parameterName, cloverRequest);
assertEquals(expectedValue, val);
}
@Test
public void givenADoubleParameterWithNullValueShouldShouldReturnNull() {
String parameterName = "double";
String stringValue = null;
Double expectedValue = null;
OvertownRequest cloverRequest = mock(OvertownRequest.class);
when(cloverRequest.getParameter(parameterName)).thenReturn(stringValue);
Double val = translator.translate(Double.class, parameterName, cloverRequest);
assertEquals(expectedValue, val);
}
}