Skip to content

Commit 039486e

Browse files
committed
AJ-543:add test case about Duration
1 parent 15434ab commit 039486e

File tree

1 file changed

+94
-1
lines changed

1 file changed

+94
-1
lines changed

test/com/xxdb/data/BasicDurationTest.java

Lines changed: 94 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.xxdb.data;
22

33
import com.alibaba.fastjson2.JSONObject;
4+
import com.xxdb.DBConnection;
45
import com.xxdb.io.Double2;
56
import com.xxdb.io.ExtendedDataOutput;
67
import com.xxdb.io.Long2;
@@ -11,9 +12,13 @@
1112
import java.time.LocalDateTime;
1213
import java.util.Arrays;
1314
import java.util.Calendar;
15+
import java.util.ResourceBundle;
1416

1517
import static org.junit.Assert.*;
1618
public class BasicDurationTest {
19+
static ResourceBundle bundle = ResourceBundle.getBundle("com/xxdb/setup/settings");
20+
static String HOST = bundle.getString("HOST");
21+
static int PORT = Integer.parseInt(bundle.getString("PORT"));
1722
@Test
1823
public void test_BasicDuration(){
1924
BasicDuration bd = new BasicDuration(Entity.DURATION.MS,2);
@@ -249,8 +254,15 @@ public void test_BasicDurationVector_Append() throws Exception {
249254
bdv.Append(bdv2);
250255
System.out.println(bdv.getString());
251256
assertEquals(size+4,bdv.rows());
252-
253257
}
258+
// @Test
259+
// public void test_BasicDurationVector_Append_1() throws Exception {
260+
// BasicDurationVector bdv = new BasicDurationVector(0);
261+
// BasicDuration bdv2 = new BasicDuration(Entity.DURATION.MONTH,6);
262+
// bdv2.setNull();
263+
// bdv.Append(bdv2);
264+
// System.out.println(bdv.getString());
265+
// }
254266

255267
@Test
256268
public void test_BasicDuration_serialize() throws Exception {
@@ -453,4 +465,85 @@ public void test_BasicDuration_toJSONString(){
453465
System.out.println(re);
454466
assertEquals("{\"chart\":false,\"chunk\":false,\"dataCategory\":\"SYSTEM\",\"dataForm\":\"DF_SCALAR\",\"dataType\":\"DT_DURATION\",\"dictionary\":false,\"duration\":2,\"jsonString\":\"2ms\",\"matrix\":false,\"null\":false,\"number\":2,\"pair\":false,\"scalar\":true,\"string\":\"2ms\",\"table\":false,\"unit\":\"MS\",\"vector\":false}", re);
455467
}
468+
@Test
469+
public void test_BasicDuration_1() throws IOException {
470+
DBConnection conn = new DBConnection();
471+
conn.connect(HOST,PORT,"admin","123456");
472+
BasicDuration bd = (BasicDuration)conn.run("duration(3XNYS)");
473+
assertEquals(3,bd.getDuration());
474+
assertEquals("3XNYS",bd.getString());
475+
BasicDuration bd1 = (BasicDuration)conn.run("duration(-3XNYS)");
476+
assertEquals(-3,bd1.getDuration());
477+
assertEquals("-3XNYS",bd1.getString());
478+
BasicDuration bd2 = (BasicDuration)conn.run("duration(0XNYS)");
479+
assertEquals(0,bd2.getDuration());
480+
assertEquals("0XNYS",bd2.getString());
481+
BasicDuration bd3 = (BasicDuration)conn.run("duration(-9999999XNYS)");
482+
assertEquals(-9999999,bd3.getDuration());
483+
assertEquals("-9999999XNYS",bd3.getString());
484+
}
485+
@Test
486+
public void test_BasicDuration_2() throws IOException {
487+
BasicDuration bd = new BasicDuration("XNYS",3);
488+
assertEquals(3,bd.getDuration());
489+
assertEquals("3XNYS",bd.getString());
490+
BasicDuration bd1 = new BasicDuration("XNYS",-300);
491+
assertEquals(-300,bd1.getDuration());
492+
assertEquals("-300XNYS",bd1.getString());
493+
BasicDuration bd2 = new BasicDuration("XNYS",0);
494+
assertEquals(0,bd2.getDuration());
495+
assertEquals("0XNYS",bd2.getString());
496+
BasicDuration bd3 = new BasicDuration("XNYS",-9999999);
497+
assertEquals(-9999999,bd3.getDuration());
498+
assertEquals("-9999999XNYS",bd3.getString());
499+
String ex = null;
500+
try{
501+
BasicDuration bd4 = new BasicDuration("1111",-9999999);
502+
}catch(Exception e){
503+
ex = e.getMessage();
504+
}
505+
assertEquals("The value of unit must duration enum type or contain four consecutive uppercase letters.",ex);
506+
try{
507+
BasicDuration bd4 = new BasicDuration("aaaa",-9999999);
508+
}catch(Exception e){
509+
ex = e.getMessage();
510+
}
511+
assertEquals("The value of unit must duration enum type or contain four consecutive uppercase letters.",ex);
512+
try{
513+
BasicDuration bd4 = new BasicDuration("aaaaaa",-9999999);
514+
}catch(Exception e){
515+
ex = e.getMessage();
516+
}
517+
assertEquals("The value of unit must duration enum type or contain four consecutive uppercase letters.",ex);
518+
519+
}
520+
@Test
521+
public void test_BasicDuration_not_support() throws IOException {
522+
String ex = null;
523+
try{
524+
BasicDuration bd = new BasicDuration(Entity.DURATION.TDAY,3);
525+
}catch(Exception e){
526+
ex = e.getMessage();
527+
}
528+
assertEquals("the exchange unit should be given as String when use exchange calendar.",ex);
529+
}
530+
@Test
531+
public void test_BasicDurationVector_1() throws Exception {
532+
DBConnection conn = new DBConnection();
533+
conn.connect(HOST,PORT,"admin","123456");
534+
BasicAnyVector bdv = (BasicAnyVector)conn.run("[duration(3XNYS),duration(3XNYS)]");
535+
System.out.println(bdv.getString());
536+
assertEquals("(3XNYS,3XNYS)",bdv.getString());
537+
System.out.println(((BasicDuration)bdv.get(0)).getDuration());
538+
assertEquals(3,((BasicDuration)bdv.get(0)).getDuration());
539+
}
540+
@Test
541+
public void test_BasicDurationVector_2() throws Exception {
542+
BasicDurationVector bdv = new BasicDurationVector(2);
543+
bdv.set(0,new BasicDuration("XNYS",3));
544+
bdv.set(1,new BasicDuration("XNYS",0));
545+
bdv.Append(new BasicDuration("XNYS",-999999999));
546+
assertEquals("[3XNYS,0XNYS,-999999999XNYS]",bdv.getString());
547+
assertEquals("3XNYS",bdv.get(0).getString());
548+
}
456549
}

0 commit comments

Comments
 (0)