@@ -70,3 +70,44 @@ func TestToString_OnNilAndEmpty(t *testing.T) {
7070 assert .Equal (t , "null" , dNil .ToString ())
7171 assert .Equal (t , "[]" , dEmpty .ToString ())
7272}
73+
74+ func TestGet (t * testing.T ) {
75+ d := tinybird.Data {
76+ {"a" : nil },
77+ {"b" : tinybird.Row {"a" : 1 }},
78+ {"b" : tinybird.Row {"b" : 2 }},
79+ {"b" : tinybird.Row {"c" : 3 }},
80+ {"c" : tinybird.Row {"a" : 4 }},
81+ {"d" : tinybird.Row {"a" : 5 }},
82+ {"d" : tinybird.Row {"b" : tinybird.Row {"a" : 6 }}},
83+ {"f" : 7 },
84+ }
85+
86+ assert .Nil (t , d .Get ("" ))
87+ assert .Nil (t , d .Get ("a" ))
88+ assert .Nil (t , d .Get ("e" ))
89+ assert .Equal (t , 7 , d .Get ("f" ))
90+ assert .Equal (t , 4 , d .Get ("c.a" ))
91+ assert .Equal (t , 6 , d .Get ("d.b.a" ))
92+ assert .Equal (t , tinybird.Row {"a" : 4 }, d .Get ("c" ))
93+ }
94+
95+ func TestSet (t * testing.T ) {
96+ d := tinybird.Data {
97+ {"a" : nil },
98+ {"b" : tinybird.Row {"a" : 1 }},
99+ {"b" : tinybird.Row {"b" : 2 }},
100+ {"b" : tinybird.Row {"c" : 3 }},
101+ {"c" : tinybird.Row {"a" : 4 }},
102+ {"d" : tinybird.Row {"a" : 5 }},
103+ {"d" : tinybird.Row {"b" : tinybird.Row {"a" : 6 }}},
104+ {"f" : 7 },
105+ }
106+
107+ assert .Nil (t , d .Set ("a" , 0 ))
108+ assert .Equal (t , 0 , d .Get ("a" ))
109+ assert .Nil (t , d .Set ("b.b" , 22 ))
110+ assert .Equal (t , 22 , d .Get ("b.b" ))
111+ assert .Nil (t , d .Set ("d.b.a" , 66 ))
112+ assert .Equal (t , 66 , d .Get ("d.b.a" ))
113+ }
0 commit comments