re base code
[sdc.git] / catalog-model / src / test / java / org / openecomp / sdc / be / model / tosca / converters / ToscaFloatConverterTest.java
1 package org.openecomp.sdc.be.model.tosca.converters;
2
3 import org.junit.Test;
4
5 import java.util.Collections;
6
7 import static org.assertj.core.api.Assertions.assertThat;
8 import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
9 import static org.junit.Assert.assertNull;
10
11
12 public class ToscaFloatConverterTest {
13
14     @Test
15     public void convertEmptyString_returnNull() {
16         assertNull(executeFloatConversion(""));
17     }
18
19     @Test
20     public void convertNull_returnNull() {
21         assertNull(executeFloatConversion(null));
22     }
23
24     @Test
25     public void convertWholeNumber() {
26         assertThat(executeFloatConversion("1234"))
27                 .isEqualTo("1234");
28     }
29
30     @Test
31     public void convertFloatNumber() {
32         assertThat(executeFloatConversion("3.141"))
33                 .isEqualTo("3.141");
34     }
35
36     @Test
37     public void convertNotValidFloat() {
38         assertThatExceptionOfType(NumberFormatException.class).isThrownBy(() -> executeFloatConversion("123.55.66"));
39     }
40
41     @Test
42     public void convertNumericWithSpecialChars() {
43         assertThatExceptionOfType(NumberFormatException.class).isThrownBy(() -> executeFloatConversion("123,55"));
44         assertThatExceptionOfType(NumberFormatException.class).isThrownBy(() -> executeFloatConversion("123&55"));
45         assertThatExceptionOfType(NumberFormatException.class).isThrownBy(() -> executeFloatConversion("123$$55"));
46         assertThatExceptionOfType(NumberFormatException.class).isThrownBy(() -> executeFloatConversion("123#55"));
47     }
48
49     @Test
50     public void convertNonNumeric() {
51         assertThatExceptionOfType(NumberFormatException.class).isThrownBy(() -> executeFloatConversion("1234ABC"));
52     }
53
54     @Test
55     public void convertNumericWithCapitalFloatSign() {
56         assertThat(executeFloatConversion("1234F"))
57                 .isEqualTo("1234");
58     }
59
60     @Test
61     public void convertNumericWithSmallLetterFloatSign() {
62         assertThat(executeFloatConversion("1234f"))
63                 .isEqualTo("1234");
64     }
65
66     @Test
67     public void convertNumericWithFloatSignNotAtTheEnd_ThrowsException() {
68         assertThatExceptionOfType(NumberFormatException.class).isThrownBy(() -> executeFloatConversion("12f34"));
69     }
70
71     private String executeFloatConversion(String s) {
72         return ToscaFloatConverter.getInstance().convert(s, null, Collections.emptyMap());
73     }
74 }