@@ -527,5 +527,123 @@ func TestClient_BfScanDump(t *testing.T) {
527527assert .Nil (t , err )
528528_ , _ , err = client .BfScanDump (notBfKey , 0 )
529529assert .Equal (t , err .Error (), "WRONGTYPE Operation against a key holding the wrong kind of value" )
530+ }
531+
532+ func TestClient_TdReset (t * testing.T ) {
533+ client .FlushAll ()
534+ key := "test_td"
535+ ret , err := client .TdCreate (key , 100 )
536+ assert .Nil (t , err )
537+ assert .Equal (t , "OK" , ret )
538+
539+ ret , err = client .TdReset (key )
540+ assert .Nil (t , err )
541+ assert .Equal (t , "OK" , ret )
542+
543+ samples := map [string ]float64 {"1" : 1.0 , "2" : 2.0 }
544+ ret , err = client .TdAdd (key , samples )
545+ assert .Nil (t , err )
546+ assert .Equal (t , "OK" , ret )
547+
548+ ret , err = client .TdReset (key )
549+ assert .Nil (t , err )
550+ assert .Equal (t , "OK" , ret )
551+
552+ info , err := client .TdInfo (key )
553+ assert .Nil (t , err )
554+ assert .Equal (t , 0.0 , info .UnmergedWeight ())
555+ }
530556
557+ func TestClient_TdMerge (t * testing.T ) {
558+ key1 := "toKey"
559+ key2 := "fromKey"
560+ ret , err := client .TdCreate (key1 , 10 )
561+ assert .Nil (t , err )
562+ assert .Equal (t , "OK" , ret )
563+ ret , err = client .TdCreate (key2 , 10 )
564+ assert .Nil (t , err )
565+ assert .Equal (t , "OK" , ret )
566+
567+ //Add values
568+ samples1 := map [string ]float64 {"1" : 1.0 , "2" : 2.0 }
569+ samples2 := map [string ]float64 {"3" : 3.0 , "4" : 4.0 }
570+ ret , err = client .TdAdd (key1 , samples1 )
571+ assert .Nil (t , err )
572+ assert .Equal (t , "OK" , ret )
573+ ret , err = client .TdAdd (key2 , samples2 )
574+ assert .Nil (t , err )
575+ assert .Equal (t , "OK" , ret )
576+
577+ //Merge
578+ ret , err = client .TdMerge (key1 , key2 )
579+ assert .Nil (t , err )
580+ assert .Equal (t , "OK" , ret )
581+
582+ // we should now have 10 weight on to-histogram
583+ info , err := client .TdInfo (key1 )
584+ assert .Nil (t , err )
585+ assert .Equal (t , 10.0 , info .UnmergedWeight ()+ info .MergedWeight ())
586+ }
587+
588+ func TestClient_TdMinMax (t * testing.T ) {
589+ client .FlushAll ()
590+ key := "test_td"
591+ ret , err := client .TdCreate (key , 10 )
592+ assert .Nil (t , err )
593+ assert .Equal (t , "OK" , ret )
594+
595+ samples := map [string ]float64 {"1" : 1.0 , "2" : 2.0 , "3" : 3.0 }
596+ ret , err = client .TdAdd (key , samples )
597+ assert .Nil (t , err )
598+ assert .Equal (t , "OK" , ret )
599+
600+ ans , err := client .TdMin (key )
601+ assert .Nil (t , err )
602+ assert .Equal (t , 1.0 , ans )
603+
604+ ans , err = client .TdMax (key )
605+ assert .Nil (t , err )
606+ assert .Equal (t , 3.0 , ans )
607+ }
608+
609+ func TestClient_TdQuantile (t * testing.T ) {
610+ client .FlushAll ()
611+ key := "test_td"
612+ ret , err := client .TdCreate (key , 10 )
613+ assert .Nil (t , err )
614+ assert .Equal (t , "OK" , ret )
615+
616+ samples := map [string ]float64 {"1" : 1.0 , "2" : 1.0 , "3" : 1.0 }
617+ ret , err = client .TdAdd (key , samples )
618+ assert .Nil (t , err )
619+ assert .Equal (t , "OK" , ret )
620+
621+ ans , err := client .TdQuantile (key , 1.0 )
622+ assert .Nil (t , err )
623+ assert .Equal (t , 3.0 , ans )
624+
625+ ans , err = client .TdQuantile (key , 0.0 )
626+ assert .Nil (t , err )
627+ assert .Equal (t , 1.0 , ans )
628+ }
629+
630+ func TestClient_TdCdf (t * testing.T ) {
631+ client .FlushAll ()
632+ key := "test_td"
633+ ret , err := client .TdCreate (key , 10 )
634+ assert .Nil (t , err )
635+ assert .Equal (t , "OK" , ret )
636+
637+ samples := map [string ]float64 {"1" : 1.0 , "2" : 1.0 , "3" : 1.0 }
638+ ret , err = client .TdAdd (key , samples )
639+ assert .Nil (t , err )
640+ assert .Equal (t , "OK" , ret )
641+
642+ ans , err := client .TdCdf (key , 10.0 )
643+ assert .Nil (t , err )
644+ assert .Equal (t , 1.0 , ans )
645+
646+ ans , err = client .TdCdf (key , 0.0 )
647+ assert .Nil (t , err )
648+ assert .Equal (t , 0.0 , ans )
531649}
0 commit comments