|
| 1 | +package com.xxdb.data; |
| 2 | +import com.alibaba.fastjson2.JSONObject; |
| 3 | +import com.xxdb.DBConnection; |
| 4 | +import org.junit.Test; |
| 5 | +import java.io.IOException; |
| 6 | +import java.nio.ByteBuffer; |
| 7 | +import java.text.SimpleDateFormat; |
| 8 | +import java.time.*; |
| 9 | +import java.util.*; |
| 10 | +import static com.xxdb.data.Utils.countMilliseconds; |
| 11 | +import static org.junit.Assert.*; |
| 12 | +public class BasicDateHourTest { |
| 13 | + @Test |
| 14 | + public void testDateHourCombine(){ |
| 15 | + List<Integer> list = Arrays.asList(1,2,3); |
| 16 | + BasicDateHourVector v = new BasicDateHourVector(list); |
| 17 | + List<Integer> list1 = Arrays.asList(3,2,1); |
| 18 | + BasicDateHourVector v1 = new BasicDateHourVector(list1); |
| 19 | + BasicDateHourVector v2 = (BasicDateHourVector) v.combine(v1); |
| 20 | + List<Integer> list2 = Arrays.asList(1,2,3,3,2,1); |
| 21 | + BasicDateHourVector v3 = new BasicDateHourVector(list2); |
| 22 | + for (int i = 0;i<list2.size();i++){ |
| 23 | + assertEquals(v3.get(i).getString() ,v2.get(i).getString()); |
| 24 | + } |
| 25 | + } |
| 26 | + @Test |
| 27 | + public void test_BasicDateHour(){ |
| 28 | + Calendar calendar = Calendar.getInstance(); |
| 29 | + calendar.set(2022,0,31,2,2,2); |
| 30 | + BasicDateHour date = new BasicDateHour(calendar); |
| 31 | + assertEquals("2022.01.31T02",date.getString()); |
| 32 | + LocalDateTime dt = LocalDateTime.of(2022,2,28,2,2,2); |
| 33 | + date = new BasicDateHour(dt); |
| 34 | + assertEquals("2022.02.28T02",date.getString()); |
| 35 | + dt = LocalDateTime.of(2008,2,29,2,2,2); |
| 36 | + date = new BasicDateHour(dt); |
| 37 | + assertEquals("2008.02.29T02",date.getString()); |
| 38 | + dt = LocalDateTime.of(2022,3,31,2,2,2); |
| 39 | + date = new BasicDateHour(dt); |
| 40 | + assertEquals("2022.03.31T02",date.getString()); |
| 41 | + dt = LocalDateTime.of(2022,1,1,2,2,2); |
| 42 | + date = new BasicDateHour(dt); |
| 43 | + assertEquals("2022.01.01T02",date.getString()); |
| 44 | + dt = LocalDateTime.of(2022,12,31,2,2,2); |
| 45 | + date = new BasicDateHour(dt); |
| 46 | + assertEquals("2022.12.31T02",date.getString()); |
| 47 | + dt = LocalDateTime.of(2022,3,1,2,2,2); |
| 48 | + date = new BasicDateHour(dt); |
| 49 | + assertEquals("2022.03.01T02",date.getString()); |
| 50 | + dt = LocalDateTime.of(2000,2,29,2,2,2); |
| 51 | + date = new BasicDateHour(dt); |
| 52 | + assertEquals("2000.02.29T02",date.getString()); |
| 53 | + } |
| 54 | + @Test |
| 55 | + public void test_BasicDateHourMatrix() throws Exception { |
| 56 | + BasicDateHourMatrix bdhm = new BasicDateHourMatrix(2,2); |
| 57 | + bdhm.setDateHour(0,0,LocalDateTime.of(2022,7,29,11,07)); |
| 58 | + bdhm.setDateHour(0,1,LocalDateTime.of(1970,1,1,11,11)); |
| 59 | + bdhm.setDateHour(1,0,LocalDateTime.of(1993,6,23,15,36)); |
| 60 | + bdhm.setDateHour(1,1,LocalDateTime.MIN); |
| 61 | + assertEquals("1993-06-23T15:00",bdhm.getDateHour(1,0).toString()); |
| 62 | + assertEquals(BasicDateHour.class,bdhm.getElementClass()); |
| 63 | + assertEquals(Entity.DATA_CATEGORY.TEMPORAL,bdhm.getDataCategory()); |
| 64 | + List<int[]> listofArrays = new ArrayList<>(2); |
| 65 | + listofArrays.add(new int[]{2861000,7963000}); |
| 66 | + listofArrays.add(new int[]{4565000,2467000}); |
| 67 | + BasicDateHourMatrix bdhm2 = new BasicDateHourMatrix(2,2,listofArrays); |
| 68 | + assertEquals("2490-10-09T08:00",bdhm2.getDateHour(0,1).toString()); |
| 69 | + } |
| 70 | + |
| 71 | + @Test |
| 72 | + public void test_BasicDateHourVector() throws Exception{ |
| 73 | + int[] array = new int[]{2861000,7963000,4565000,2467000,Integer.MIN_VALUE}; |
| 74 | + BasicDateHourVector btv = new BasicDateHourVector(array,true); |
| 75 | + assertEquals(Entity.DATA_CATEGORY.TEMPORAL,btv.getDataCategory()); |
| 76 | + assertEquals("2251-06-08T16:00",btv.getDateHour(3).toString()); |
| 77 | + int[] indices = new int[]{0,2,1}; |
| 78 | + assertEquals("[2296.05.19T08,2490.10.09T08,2878.05.31T16]",btv.getSubVector(indices).getString()); |
| 79 | + btv.setDateHour(2,LocalDateTime.of(1984,7,14,11,25)); |
| 80 | + assertEquals("1984-07-14T11:00",btv.getDateHour(2).toString()); |
| 81 | + assertNull(btv.getDateHour(4)); |
| 82 | + assertEquals("2251.06.08T16",btv.get(3).getString()); |
| 83 | + assertEquals(BasicDateHour.class,btv.getElementClass()); |
| 84 | + BasicDateHourVector bdhv = new BasicDateHourVector(Entity.DATA_FORM.DF_VECTOR,1); |
| 85 | + assertEquals("1970-01-01T00:00",bdhv.getDateHour(0).toString()); |
| 86 | + List<Integer> list = Arrays.asList(2861000,7963000,4565000,2467000,Integer.MIN_VALUE); |
| 87 | + BasicDateHourVector bdhv2 = new BasicDateHourVector(list); |
| 88 | + assertEquals("2878-05-31T16:00",bdhv2.getDateHour(1).toString()); |
| 89 | + ByteBuffer bb = ByteBuffer.allocate(10000); |
| 90 | + bdhv2.writeVectorToBuffer(bb); |
| 91 | + } |
| 92 | + |
| 93 | + @Test |
| 94 | + public void test_BasicDateHourVector_Append() throws Exception { |
| 95 | + BasicDateHourVector bdhv = new BasicDateHourVector(new int[]{476,1004}); |
| 96 | + int size = bdhv.size; |
| 97 | + int capacity = bdhv.capaticy; |
| 98 | + bdhv.Append(new BasicDateHour(LocalDateTime.now())); |
| 99 | + assertEquals(capacity*2,bdhv.capaticy); |
| 100 | + System.out.println(bdhv.get(2)); |
| 101 | + bdhv.Append(bdhv); |
| 102 | + assertEquals(size+4,bdhv.size); |
| 103 | + assertEquals(7,bdhv.capaticy); |
| 104 | + } |
| 105 | + @Test |
| 106 | + public void test_BasicDateHour_toJSONString() throws Exception { |
| 107 | + BasicDateHour date = new BasicDateHour(100); |
| 108 | + String re = JSONObject.toJSONString(date); |
| 109 | + System.out.println(re); |
| 110 | + assertEquals("{\"chart\":false,\"chunk\":false,\"dataCategory\":\"TEMPORAL\",\"dataForm\":\"DF_SCALAR\",\"dataType\":\"DT_DATEHOUR\",\"dateHour\":\"1970-01-05 04:00:00\",\"dictionary\":false,\"int\":100,\"jsonString\":\"\\\"1970.01.05T04\\\"\",\"matrix\":false,\"null\":false,\"number\":100,\"pair\":false,\"scalar\":true,\"scale\":0,\"string\":\"1970.01.05T04\",\"table\":false,\"vector\":false}", re); |
| 111 | + } |
| 112 | + @Test |
| 113 | + public void test_BasicDateHourVector_toJSONString() throws Exception { |
| 114 | + List<Integer> list = Arrays.asList(1,2,3); |
| 115 | + BasicDateHourVector v = new BasicDateHourVector(list); |
| 116 | + String re = JSONObject.toJSONString(v); |
| 117 | + System.out.println(re); |
| 118 | + assertEquals("{\"chart\":false,\"chunk\":false,\"dataArray\":[1,2,3],\"dataCategory\":\"TEMPORAL\",\"dataForm\":\"DF_VECTOR\",\"dataType\":\"DT_DATEHOUR\",\"dictionary\":false,\"elementClass\":\"com.xxdb.data.BasicDateHour\",\"matrix\":false,\"pair\":false,\"scalar\":false,\"string\":\"[1970.01.01T01,1970.01.01T02,1970.01.01T03]\",\"table\":false,\"unitLength\":4,\"vector\":true}", re); |
| 119 | + } |
| 120 | +} |
0 commit comments