1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
/*
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
* Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* 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.
* ============LICENSE_END=========================================================
*/
package org.onap.policy.common.gson;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.junit.Test;
public class DoubleConverterTest {
@Test
@SuppressWarnings("unchecked")
public void testConvertFromDoubleObject() {
// these should be unchanged
assertNull(DoubleConverter.convertFromDouble((Object) null));
assertEquals("hello", DoubleConverter.convertFromDouble("hello"));
assertEquals("10.0", DoubleConverter.convertFromDouble("10.0"));
assertEquals(12.5, DoubleConverter.convertFromDouble(12.5));
assertEquals(12, DoubleConverter.convertFromDouble(12));
assertEquals(12L, DoubleConverter.convertFromDouble(12L));
// positive and negative int
assertEquals(10, DoubleConverter.convertFromDouble(10.0));
assertEquals(-10, DoubleConverter.convertFromDouble(-10.0));
// positive and negative long
assertEquals(100000000000L, DoubleConverter.convertFromDouble(100000000000.0));
assertEquals(-100000000000L, DoubleConverter.convertFromDouble(-100000000000.0));
// list
List<Object> list = new ArrayList<>();
list.add("list");
list.add(null);
list.add(21.0);
list = (List<Object>) DoubleConverter.convertFromDouble((Object) list);
assertEquals("[list, null, 21]", list.toString());
// map
Map<String, Object> map = new LinkedHashMap<>();
map.put("map-A", "map-value");
map.put("map-B", null);
map.put("map-C", 22.0);
map = (Map<String, Object>) DoubleConverter.convertFromDouble((Object) map);
assertEquals("{map-A=map-value, map-B=null, map-C=22}", map.toString());
}
@Test
public void testConvertFromDoubleList() {
// null is ok
DoubleConverter.convertFromDouble((List<Object>) null);
List<Object> list = new ArrayList<>();
list.add("world");
list.add(20.0);
List<Object> nested = new ArrayList<>();
list.add(nested);
nested.add(30.0);
DoubleConverter.convertFromDouble(list);
assertEquals("[world, 20, [30]]", list.toString());
}
@Test
public void testConvertFromDoubleMap() {
// null is ok
DoubleConverter.convertFromDouble((Map<String, Object>) null);
Map<String, Object> map = new LinkedHashMap<>();
map.put("keyA", "valueA");
map.put("keyB", 200.0);
Map<String, Object> nested = new LinkedHashMap<>();
map.put("keyC", nested);
nested.put("nested-key", 201.0);
DoubleConverter.convertFromDouble(map);
assertEquals("{keyA=valueA, keyB=200, keyC={nested-key=201}}", map.toString());
}
}
|