paul@458 | 1 | #!/usr/bin/env python |
paul@458 | 2 | |
paul@458 | 3 | from micropython.common import ObjectSet |
paul@458 | 4 | |
paul@458 | 5 | o1 = ObjectSet() |
paul@458 | 6 | o1.add("a") |
paul@458 | 7 | o1.add("b") |
paul@458 | 8 | o1.add("c") |
paul@458 | 9 | print "o1 =", o1 |
paul@458 | 10 | |
paul@458 | 11 | o2 = ObjectSet() |
paul@458 | 12 | o2.add("b") |
paul@458 | 13 | o2["c"] = ["x"] |
paul@458 | 14 | o2.add("d") |
paul@458 | 15 | o2["d"] += ["p", "q"] |
paul@458 | 16 | print "o2 =", o2 |
paul@458 | 17 | |
paul@458 | 18 | assert o1 != o2 |
paul@458 | 19 | print "o1 == o2", o1 == o2 |
paul@458 | 20 | print "o1 != o2", o1 != o2 |
paul@458 | 21 | |
paul@458 | 22 | o12 = o1.merge(o2) |
paul@458 | 23 | print "o1 =", o1 |
paul@458 | 24 | print "o2 =", o2 |
paul@458 | 25 | print "o12 =", o12 |
paul@458 | 26 | |
paul@458 | 27 | o12_keys = o12.keys() |
paul@458 | 28 | o12_keys.sort() |
paul@458 | 29 | assert o12_keys == ["a", "b", "c", "d"] |
paul@458 | 30 | print "o12_keys =", o12_keys |
paul@458 | 31 | |
paul@458 | 32 | o1_copy = ObjectSet(o1) |
paul@458 | 33 | assert o1 == o1_copy |
paul@458 | 34 | print "o1 =", o1 |
paul@458 | 35 | print "o1_copy =", o1_copy |
paul@458 | 36 | print "o1 == o1_copy", o1 == o1_copy |
paul@458 | 37 | |
paul@458 | 38 | o1_copy.update(o2) |
paul@458 | 39 | assert o1 != o1_copy |
paul@458 | 40 | assert o12 == o1_copy |
paul@458 | 41 | print "o1_copy =", o1_copy |
paul@458 | 42 | print "o1 != o1_copy", o1 != o1_copy |
paul@458 | 43 | print "o12 == o1_copy", o12 == o1_copy |
paul@458 | 44 | |
paul@458 | 45 | o3 = ObjectSet() |
paul@458 | 46 | o3.add("c") |
paul@458 | 47 | o3["c"].append("y") |
paul@458 | 48 | print "o3 =", o3 |
paul@458 | 49 | |
paul@458 | 50 | # vim: tabstop=4 expandtab shiftwidth=4 |