| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- process main {
- value({"A", {"B", "C"}, {{"D"}, "E"}}) v;
- val_equal(v, {"A", {"B", "C"}, {{"D"}, "E"}}) a;
- assert(a);
- v->get("1") w;
- val_equal(w, {"B", "C"}) a;
- assert(a);
- w->delete();
- val_equal(v, {"A", {{"D"}, "E"}}) a;
- assert(a);
- v->getpath({"1", "1"}) f;
- val_equal(f, "E") a;
- assert(a);
- value(["hello":{"Hello", "Good evening!"}, "goodbye":{"Bye", "See you"}]) v;
- val_equal(v, ["hello":{"Hello", "Good evening!"}, "goodbye":{"Bye", "See you"}]) a;
- assert(a);
- val_equal(v.keys, {"goodbye", "hello"}) a;
- assert(a);
- v->get("hello") h;
- val_equal(h, {"Hello", "Good evening!"}) a;
- assert(a);
- v->get("goodbye") g;
- val_equal(g, {"Bye", "See you"}) a;
- assert(a);
- g->delete();
- val_equal(v, ["hello":{"Hello", "Good evening!"}]) a;
- assert(a);
- h->delete();
- val_equal(v, []);
- assert(a);
- v->delete();
- strcmp(v.exists, "false") a;
- assert(a);
- value({"D", "F", "H"}) v;
- v->insert("0", "A") a; # ADFH
- v->insert("1", "B") b; # ABDFH
- v->insert("5", "I") i; # ABDFHI
- val_equal(v, {"A", "B", "D", "F", "H", "I"}) a;
- assert(a);
- value(["k1":"v1", "k2":"v2", "k3":"v3"]) v;
- v->insert("k0", "v0") v0; # k0=v0 k1=v1 k2=v2 k3=v3
- v->insert("k0", "V0") V0; # k0=V0 k1=v1 k2=v2 k3=v3
- val_equal(v0, "v0") a;
- assert(a);
- val_equal(V0, "V0") a;
- assert(a);
- value({"D", "F", "H"}) v;
- v->remove("0"); # FH
- v->remove("1"); # F
- val_equal(v, {"F"}) a;
- assert(a);
- value(["k1":"v1", "k2":"v2", "k3":"v3"]) v;
- v->remove("k1");
- v->remove("k3");
- val_equal(v, ["k2":"v2"]) a;
- assert(a);
- value(["k1":"v1", "k2":"v2", "k3":"v3"]) v;
- v->try_get("k1") v1;
- v->try_get("k7") v7;
- val_equal(v1.exists, "true") a;
- assert(a);
- val_equal(v7.exists, "false") a;
- assert(a);
- value(["k1":"v1", "k2":"v2", "k3":"v3"]) v;
- imperative("<none>", {}, "check1", {}, "10000");
- v->insert_undo("k1", "V1") V1;
- strcmp(V1, "V1") a;
- assert(a);
- v->insert_undo("k4", "V4");
- v->remove("k2");
- val_equal(v, ["k1":"V1", "k3":"v3", "k4":"V4"]) a;
- assert(a);
- value({"a", "b", "c"}) v;
- v->replace("0", "A");
- v->replace("1", "B");
- v->replace("2", "C");
- v->replace("3", "D");
- val_equal(v, {"A", "B", "C", "D"}) a;
- assert(a);
- value({"a", "b", "c"}) v;
- imperative("<none>", {}, "check2", {}, "10000");
- v->replace_undo("0", "A");
- v->replace_undo("1", "B");
- v->replace_undo("2", "C");
- v->replace_undo("3", "D");
- val_equal(v, {"A", "B", "C", "D"}) a;
- assert(a);
- value("A") v;
- v->set("B");
- val_equal(v, "B") a;
- assert(a);
- value({"a", "c"}) v;
- v->insert_undo("1", "b") vb;
- val_equal(v, {"a", "b", "c"}) a;
- assert(a);
- val_equal(vb, "b") a;
- assert(a);
- vb->set("B");
- val_equal(v, {"a", "c"}) a;
- assert(a);
- val_equal(vb, "B") a;
- assert(a);
- println("succeeded");
- exit("0");
- }
- template check1 {
- val_equal(_caller.v, ["k1":"v1", "k3":"v3"]) a;
- assert(a);
- }
- template check2 {
- val_equal(_caller.v, {"a", "b", "c"}) a;
- assert(a);
- }
|