package org.jtwig.value.convert.number;
import org.jtwig.value.Undefined;
import org.jtwig.value.convert.Converter;
import org.junit.Test;
import java.math.BigDecimal;
import static org.junit.Assert.assertEquals;
public class BigDecimalConverterTest {
private BigDecimalConverter underTest = new BigDecimalConverter();
@Test
public void convertNull() throws Exception {
Converter.Result<BigDecimal> result = underTest.convert(null);
assertEquals(BigDecimal.ZERO, result.get());
}
@Test
public void convertUndefined() throws Exception {
Converter.Result<BigDecimal> result = underTest.convert(Undefined.UNDEFINED);
assertEquals(BigDecimal.ZERO, result.get());
}
@Test
public void convertBigDecimal() throws Exception {
Converter.Result<BigDecimal> result = underTest.convert(BigDecimal.TEN);
assertEquals(BigDecimal.TEN, result.get());
}
@Test
public void convertInteger() throws Exception {
Converter.Result<BigDecimal> result = underTest.convert(1);
assertEquals(BigDecimal.ONE, result.get());
}
@Test
public void convertFloat() throws Exception {
Converter.Result<BigDecimal> result = underTest.convert(1.5);
assertEquals(new BigDecimal("1.5"), result.get());
}
@Test
public void convertString() throws Exception {
Converter.Result<BigDecimal> result = underTest.convert("1123.12");
assertEquals(new BigDecimal("1123.12"), result.get());
}
@Test
public void convertStringWrong() throws Exception {
Converter.Result<BigDecimal> result = underTest.convert("123a");
assertEquals(false, result.isDefined());
}
}