z_0_filetest.gno

6.92 Kb ยท 231 lines
  1// PKGPATH: gno.land/r/test
  2package test
  3
  4import (
  5	"gno.land/p/demo/avl"
  6)
  7
  8var node *avl.Node
  9
 10func init() {
 11	node = avl.NewNode("key0", "value0")
 12	// node, _ = node.Set("key0", "value0")
 13}
 14
 15func main() {
 16	var updated bool
 17	node, updated = node.Set("key1", "value1")
 18	// println(node, updated)
 19	println(updated, node.Size())
 20}
 21
 22// Output:
 23// false 2
 24
 25// Realm:
 26// switchrealm["gno.land/r/test"]
 27// u[a8ada09dee16d791fd406d629fe29bb0ed084a30:4]=
 28//     @@ -1,8 +1,8 @@
 29//      {
 30//          "ObjectInfo": {
 31//              "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:4",
 32//     -        "ModTime": "0",
 33//     -        "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:2",
 34//     +        "ModTime": "7",
 35//     +        "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:7",
 36//              "RefCount": "1"
 37//          },
 38//          "Value": {
 39// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:9]={
 40//     "Fields": [
 41//         {
 42//             "T": {
 43//                 "@type": "/gno.PrimitiveType",
 44//                 "value": "16"
 45//             },
 46//             "V": {
 47//                 "@type": "/gno.StringValue",
 48//                 "value": "key1"
 49//             }
 50//         },
 51//         {
 52//             "T": {
 53//                 "@type": "/gno.PrimitiveType",
 54//                 "value": "16"
 55//             },
 56//             "V": {
 57//                 "@type": "/gno.StringValue",
 58//                 "value": "value1"
 59//             }
 60//         },
 61//         {
 62//             "T": {
 63//                 "@type": "/gno.PrimitiveType",
 64//                 "value": "64"
 65//             }
 66//         },
 67//         {
 68//             "N": "AQAAAAAAAAA=",
 69//             "T": {
 70//                 "@type": "/gno.PrimitiveType",
 71//                 "value": "32"
 72//             }
 73//         },
 74//         {
 75//             "T": {
 76//                 "@type": "/gno.PointerType",
 77//                 "Elt": {
 78//                     "@type": "/gno.RefType",
 79//                     "ID": "gno.land/p/demo/avl.Node"
 80//                 }
 81//             }
 82//         },
 83//         {
 84//             "T": {
 85//                 "@type": "/gno.PointerType",
 86//                 "Elt": {
 87//                     "@type": "/gno.RefType",
 88//                     "ID": "gno.land/p/demo/avl.Node"
 89//                 }
 90//             }
 91//         }
 92//     ],
 93//     "ObjectInfo": {
 94//         "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:9",
 95//         "ModTime": "0",
 96//         "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:8",
 97//         "RefCount": "1"
 98//     }
 99// }
100// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:8]={
101//     "ObjectInfo": {
102//         "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:8",
103//         "ModTime": "0",
104//         "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:7",
105//         "RefCount": "1"
106//     },
107//     "Value": {
108//         "T": {
109//             "@type": "/gno.RefType",
110//             "ID": "gno.land/p/demo/avl.Node"
111//         },
112//         "V": {
113//             "@type": "/gno.RefValue",
114//             "Hash": "b28057ab7be6383785c0a5503e8a531bdbc21851",
115//             "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:9"
116//         }
117//     }
118// }
119// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:7]={
120//     "Fields": [
121//         {
122//             "T": {
123//                 "@type": "/gno.PrimitiveType",
124//                 "value": "16"
125//             },
126//             "V": {
127//                 "@type": "/gno.StringValue",
128//                 "value": "key1"
129//             }
130//         },
131//         {},
132//         {
133//             "N": "AQAAAAAAAAA=",
134//             "T": {
135//                 "@type": "/gno.PrimitiveType",
136//                 "value": "64"
137//             }
138//         },
139//         {
140//             "N": "AgAAAAAAAAA=",
141//             "T": {
142//                 "@type": "/gno.PrimitiveType",
143//                 "value": "32"
144//             }
145//         },
146//         {
147//             "T": {
148//                 "@type": "/gno.PointerType",
149//                 "Elt": {
150//                     "@type": "/gno.RefType",
151//                     "ID": "gno.land/p/demo/avl.Node"
152//                 }
153//             },
154//             "V": {
155//                 "@type": "/gno.PointerValue",
156//                 "Base": {
157//                     "@type": "/gno.RefValue",
158//                     "Hash": "6da365f0d6cacbcdf53cd5a4b125803cddce08c2",
159//                     "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:4"
160//                 },
161//                 "Index": "0",
162//                 "TV": null
163//             }
164//         },
165//         {
166//             "T": {
167//                 "@type": "/gno.PointerType",
168//                 "Elt": {
169//                     "@type": "/gno.RefType",
170//                     "ID": "gno.land/p/demo/avl.Node"
171//                 }
172//             },
173//             "V": {
174//                 "@type": "/gno.PointerValue",
175//                 "Base": {
176//                     "@type": "/gno.RefValue",
177//                     "Hash": "f216afe7b5a17f4ebdbb98dceccedbc22e237596",
178//                     "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:8"
179//                 },
180//                 "Index": "0",
181//                 "TV": null
182//             }
183//         }
184//     ],
185//     "ObjectInfo": {
186//         "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:7",
187//         "ModTime": "0",
188//         "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:6",
189//         "RefCount": "1"
190//     }
191// }
192// c[a8ada09dee16d791fd406d629fe29bb0ed084a30:6]={
193//     "ObjectInfo": {
194//         "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:6",
195//         "ModTime": "0",
196//         "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:2",
197//         "RefCount": "1"
198//     },
199//     "Value": {
200//         "T": {
201//             "@type": "/gno.RefType",
202//             "ID": "gno.land/p/demo/avl.Node"
203//         },
204//         "V": {
205//             "@type": "/gno.RefValue",
206//             "Hash": "ff1a50d8489090af37a2c7766d659f0d717939b5",
207//             "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:7"
208//         }
209//     }
210// }
211// u[a8ada09dee16d791fd406d629fe29bb0ed084a30:2]=
212//     @@ -3,7 +3,7 @@
213//          "ObjectInfo": {
214//              "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:2",
215//              "IsEscaped": true,
216//     -        "ModTime": "3",
217//     +        "ModTime": "5",
218//              "RefCount": "2"
219//          },
220//          "Parent": null,
221//     @@ -30,8 +30,8 @@
222//                      "@type": "/gno.PointerValue",
223//                      "Base": {
224//                          "@type": "/gno.RefValue",
225//     -                    "Hash": "424b49c215f471979ccd718172a016e6ec9dd934",
226//     -                    "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:4"
227//     +                    "Hash": "ae86874f9b47fa5e64c30b3e92e9d07f2ec967a4",
228//     +                    "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:6"
229//                      },
230//                      "Index": "0",
231//                      "TV": null