@@ -496,23 +496,56 @@ func TestSetLeaves(t *testing.T) {
496496 _P ("root" , "l1" , "l2" , "l3" ),
497497 ),
498498 }, {
499- name : "nested with lists" ,
499+ name : "multiple values, check for overwrite" ,
500+ input : NewSet (
501+ _P ("root" , KeyByFields ("name" , "a" )),
502+ _P ("root" , KeyByFields ("name" , "a" ), "name" ),
503+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "b" ),
504+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "c" ),
505+ ),
506+ expected : NewSet (
507+ _P ("root" , KeyByFields ("name" , "a" ), "name" ),
508+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "b" ),
509+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "c" ),
510+ ),
511+ }, {
512+ name : "multiple values and nested" ,
513+ input : NewSet (
514+ _P ("root" , KeyByFields ("name" , "a" )),
515+ _P ("root" , KeyByFields ("name" , "a" ), "name" ),
516+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "b" ),
517+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "b" , "d" ),
518+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "c" ),
519+ ),
520+ expected : NewSet (
521+ _P ("root" , KeyByFields ("name" , "a" ), "name" ),
522+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "b" , "d" ),
523+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "c" ),
524+ ),
525+ }, {
526+ name : "all-in-one" ,
500527 input : NewSet (
501528 _P ("root" ),
502529 _P ("root" , KeyByFields ("name" , "a" )),
503530 _P ("root" , KeyByFields ("name" , "a" ), "name" ),
504531 _P ("root" , KeyByFields ("name" , "a" ), "value" , "b" ),
505532 _P ("root" , KeyByFields ("name" , "a" ), "value" , "b" , "c" ),
533+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "d" ),
534+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "e" ),
506535 _P ("root" , "x" ),
507536 _P ("root" , "x" , "y" ),
537+ _P ("root" , "x" , "z" ),
508538 _P ("root" , KeyByFields ("name" , "p" )),
509539 _P ("root" , KeyByFields ("name" , "p" ), "name" ),
510540 _P ("root" , KeyByFields ("name" , "p" ), "value" , "q" ),
511541 ),
512542 expected : NewSet (
513543 _P ("root" , KeyByFields ("name" , "a" ), "name" ),
514544 _P ("root" , KeyByFields ("name" , "a" ), "value" , "b" , "c" ),
545+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "d" ),
546+ _P ("root" , KeyByFields ("name" , "a" ), "value" , "e" ),
515547 _P ("root" , "x" , "y" ),
548+ _P ("root" , "x" , "z" ),
516549 _P ("root" , KeyByFields ("name" , "p" ), "name" ),
517550 _P ("root" , KeyByFields ("name" , "p" ), "value" , "q" ),
518551 ),
0 commit comments