@@ -240,7 +240,7 @@ func TestDatetimeReplace(t *testing.T) {
240
240
}
241
241
242
242
type Event struct {
243
- Datetime time. Time
243
+ Datetime DateTime
244
244
Location string
245
245
}
246
246
@@ -260,7 +260,7 @@ type Tuple2 struct {
260
260
}
261
261
262
262
type Tuple3 struct {
263
- Datetime time. Time
263
+ Datetime DateTime
264
264
}
265
265
266
266
func (t * Tuple3 ) EncodeMsgpack (e * msgpack.Encoder ) error {
@@ -318,7 +318,7 @@ func (ev *Event) DecodeMsgpack(d *msgpack.Decoder) error {
318
318
if err != nil {
319
319
return err
320
320
}
321
- ev .Datetime = res .(time. Time )
321
+ ev .Datetime = res .(DateTime )
322
322
return nil
323
323
}
324
324
@@ -371,30 +371,33 @@ func TestCustomEncodeDecodeTuple1(t *testing.T) {
371
371
372
372
dt1 , _ := time .Parse (time .RFC3339 , "2010-05-24T17:51:56.000000009Z" )
373
373
dt2 , _ := time .Parse (time .RFC3339 , "2022-05-24T17:51:56.000000009Z" )
374
+ const cid = 13
375
+ const orig = "orig"
374
376
375
- tuple := Tuple {Cid : 13 , Orig : " orig" , Events : []Event {{dt1 , "Minsk" }, {dt2 , "Moscow" }}}
377
+ tuple := Tuple {Cid : cid , Orig : orig , Events : []Event {{NewDateTime ( dt1 ) , "Minsk" }, {NewDateTime ( dt2 ) , "Moscow" }}}
376
378
resp , err := conn .Replace ("testDatetime_3" , & tuple )
377
379
if err != nil || resp .Code != 0 {
378
380
t .Fatalf ("Failed to replace: %s" , err .Error ())
379
- return
380
381
}
381
382
if len (resp .Data ) != 1 {
382
383
t .Fatalf ("Response Body len != 1" )
383
384
}
384
- if tpl , ok := resp .Data [0 ].([]interface {}); ! ok {
385
- t .Errorf ("Unexpected body of Replace" )
386
- } else {
387
- if len (tpl ) != 3 {
388
- t .Fatalf ("Unexpected body of Replace (tuple len)" )
389
- }
390
- if id , ok := tpl [0 ].(uint64 ); ! ok || id != 13 {
391
- t .Fatalf ("Unexpected body of Replace (13)" )
392
- }
393
- if o , ok := tpl [1 ].(string ); ! ok || o != "orig" {
394
- t .Fatalf ("Unexpected body of Replace (orig)" )
395
- }
385
+
386
+ tpl , ok := resp .Data [0 ].([]interface {})
387
+ if ! ok {
388
+ t .Fatalf ("Unexpected body of Replace" )
396
389
}
397
390
391
+ if len (tpl ) != 3 {
392
+ t .Fatalf ("Unexpected body of Replace (tuple len)" )
393
+ }
394
+ if id , ok := tpl [0 ].(uint64 ); ! ok || id != cid {
395
+ t .Fatalf ("Unexpected body of Replace (%d)" , cid )
396
+ }
397
+ if o , ok := tpl [1 ].(string ); ! ok || o != orig {
398
+ t .Fatalf ("Unexpected body of Replace (%s)" , orig )
399
+ }
400
+ fmt .Printf ("%+v\n " , tpl [2 ]) // FIXME
398
401
}
399
402
400
403
func TestCustomEncodeDecodeTuple2 (t * testing.T ) {
@@ -418,6 +421,7 @@ func TestCustomEncodeDecodeTuple2(t *testing.T) {
418
421
if err != nil {
419
422
t .Fatalf ("Failed to SelectTyped(): %s" , err .Error ())
420
423
}
424
+ fmt .Printf ("%+v" , tuples )
421
425
422
426
// Teardown: delete a value.
423
427
_ , err = conn .Delete (space , index , []interface {}{& dt })
@@ -437,17 +441,33 @@ func TestCustomEncodeDecodeTuple3(t *testing.T) {
437
441
// Setup: insert a value.
438
442
tm := time .Unix (0 , 0 )
439
443
dt := NewDateTime (tm )
440
- _ , err := conn .Insert (space , []interface {}{& dt })
444
+ resp , err := conn .Insert (space , []interface {}{& dt })
441
445
if err != nil {
442
446
t .Fatalf ("Datetime insert failed: %s" , err .Error ())
443
447
}
444
448
449
+ fmt .Printf ("%+v\n " , resp .Data [0 ])
450
+
445
451
var tuples2 []Tuple2
446
- err = conn .SelectTyped ("testDatetime_2" , index , 0 , 1 , IterEq , []interface {}{1 , & dt }, & tuples2 )
452
+ err = conn .SelectTyped ("testDatetime_2" , index , 0 , 1 , IterEq , []interface {}{1 , dt }, & tuples2 )
447
453
if err != nil {
448
454
t .Fatalf ("Failed to SelectTyped: %s" , err .Error ())
449
455
return
450
456
}
457
+ if len (tuples2 ) == 0 {
458
+ t .Fatalf ("Wrong tuples length" ) // FIXME
459
+ }
460
+ if cid := tuples2 [0 ].Cid ; cid != 5 {
461
+ t .Fatalf ("Wrong Cid (%d), should be 5" , cid )
462
+ }
463
+ if orig := tuples2 [0 ].Orig ; orig != "Poyekhali!" {
464
+ t .Fatalf ("Wrong Orig (%s), should be 'Hello, there!'" , orig )
465
+ }
466
+ /*
467
+ if dt := tuples2[0].Datetime; dt.IsZero() {
468
+ t.Fatalf("Achtung!")
469
+ }
470
+ */
451
471
452
472
// Teardown: delete a value.
453
473
_ , err = conn .Delete (space , index , []interface {}{& dt })
@@ -477,6 +497,25 @@ func TestCustomDecodeFunction(t *testing.T) {
477
497
if orig := tuples [0 ].Orig ; orig != "Poyekhali!" {
478
498
t .Fatalf ("Wrong Orig (%s), should be 'Hello, there!'" , orig )
479
499
}
500
+
501
+ events := tuples [0 ].Events
502
+ if len (events ) != 3 {
503
+ t .Fatalf ("Wrong a number of Events (%d), should be 3" , len (events ))
504
+ }
505
+ /*
506
+ if ev1 := events[0]; ev1.Location != "Klushino" || ev1.Datetime.IsZero() {
507
+ fmt.Println(ev1.Datetime)
508
+ t.Fatalf("Klushino") // FIXME
509
+ }
510
+ if ev2 := events[0]; ev2.Location != "Baikonur" || ev2.Datetime.IsZero() {
511
+ fmt.Println(ev2.Datetime)
512
+ t.Fatalf("Baikonur") // FIXME
513
+ }
514
+ if ev3 := events[0]; ev3.Location != "Novoselovo" || ev3.Datetime.IsZero() {
515
+ fmt.Println(ev3.Datetime)
516
+ t.Fatalf("Novoselovo") // FIXME
517
+ }
518
+ */
480
519
}
481
520
482
521
func TestCustomEncodeDecodeTuple5 (t * testing.T ) {
0 commit comments