// Depart from Java - This has a method where mimetype selection can be specified - NOTE: This toolkit // does not yet support a JsonReader public HGrid invokeAction(HRef id, string action, HDict args, string mimetype) { HDict meta = new HDictBuilder().add("id", id).add("action", action).toDict(); HGrid req = HGridBuilder.dictsToGrid(meta, new HDict[] { args }); return(call("invokeAction", req, mimetype)); }
public Task <HGrid> hisWriteAsync(HRef id, HHisItem[] items) { HDict meta = new HDictBuilder().add("id", id).toDict(); HGrid req = HGridBuilder.hisItemsToGrid(meta, items); return(CallAsync("hisWrite", req, "text/zinc")); }
/** * Write a set of history time-series data to the given point record. * The record must already be defined and must be properly tagged as * a historized point. The timestamp timezone must exactly match the * point's configured "tz" tag. If duplicate or out-of-order items are * inserted then they must be gracefully merged. */ public override void hisWrite(HRef id, HHisItem[] items) { HDict meta = new HDictBuilder().add("id", id).toDict(); HGrid req = HGridBuilder.hisItemsToGrid(meta, items); call("hisWrite", req); }
private HDict parseDict() { HDictBuilder db = new HDictBuilder(); bool braces = m_tokCur == HaystackToken.lbrace; if (braces) { consume(HaystackToken.lbrace); } while (m_tokCur == HaystackToken.id) { // tag name string id = consumeTagName(); if (!char.IsLower(id[0])) { err("Invalid dict tag name: " + id); } // tag value HVal val = HMarker.VAL; if (m_tokCur == HaystackToken.colon) { consume(HaystackToken.colon); val = parseVal(); } db.add(id, val); } if (braces) { consume(HaystackToken.rbrace); } return(db.toDict()); }
public void testRemove() { HDict dict = new HDictBuilder().add("x").add("y", "str").toDict(); dict.Remove("y"); Assert.AreEqual(1, dict.Size); Assert.AreEqual(HMarker.VAL, dict["x"]); }
public void testInclude() { HDict a = new HDictBuilder() .add("dis", "a") .add("num", 100) .add("foo", 99) .add("date", HDate.make(2011, 10, 5)) .toDict(); HDict b = new HDictBuilder() .add("dis", "b") .add("num", 200) .add("foo", 88) .add("date", HDate.make(2011, 10, 20)) .add("bar") .add("ref", HRef.make("a")) .toDict(); HDict c = new HDictBuilder() .add("dis", "c") .add("num", 300) .add("ref", HRef.make("b")) .add("bar") .toDict(); Dictionary <string, HDict> db = new Dictionary <string, HDict>(); db.Add("a", a); db.Add("b", b); db.Add("c", c); verifyInclude(db, "dis", "a,b,c"); verifyInclude(db, "dis == \"b\"", "b"); verifyInclude(db, "dis != \"b\"", "a,c"); verifyInclude(db, "dis <= \"b\"", "a,b"); verifyInclude(db, "dis > \"b\"", "c"); verifyInclude(db, "num < 200", "a"); verifyInclude(db, "num <= 200", "a,b"); verifyInclude(db, "num > 200", "c"); verifyInclude(db, "num >= 200", "b,c"); verifyInclude(db, "date", "a,b"); verifyInclude(db, "date == 2011-10-20", "b"); verifyInclude(db, "date < 2011-10-10", "a"); verifyInclude(db, "foo", "a,b"); verifyInclude(db, "not foo", "c"); verifyInclude(db, "foo == 88", "b"); verifyInclude(db, "foo != 88", "a"); verifyInclude(db, "foo == \"x\"", ""); verifyInclude(db, "ref", "b,c"); verifyInclude(db, "ref->dis", "b,c"); verifyInclude(db, "ref->dis == \"a\"", "b"); verifyInclude(db, "ref->bar", "c"); verifyInclude(db, "not ref->bar", "a,b"); verifyInclude(db, "foo and bar", "b"); verifyInclude(db, "foo or bar", "a,b,c"); verifyInclude(db, "(foo and bar) or num==300", "b,c"); verifyInclude(db, "foo and bar and num==300", ""); }
public void testAdd() { HDict dict = new HDictBuilder().add("x").add("y").toDict(); dict.Add("z", HStr.make("z")); Assert.AreEqual(3, dict.Size); Assert.AreEqual(HMarker.VAL, dict["x"]); Assert.AreEqual(HMarker.VAL, dict["y"]); Assert.AreEqual(HStr.make("z"), dict["z"]); }
public void testToArray() { HDict a = new HDictBuilder().add("x").add("y", "str").toDict(); var array = a.ToArray(); Assert.AreEqual(2, array.Length); Assert.AreEqual("x", array[0].Key); Assert.AreEqual(HMarker.VAL, array[0].Value); Assert.AreEqual("y", array[1].Key); Assert.AreEqual(HStr.make("str"), array[1].Value); }
public void testEmpty() { // Instance Empty HDict tags = new HDictBuilder().toDict(); Assert.AreEqual(tags, HDict.Empty); // size Assert.AreEqual(tags.size(), 0); Assert.IsTrue(tags.isEmpty()); // missing tag Assert.IsFalse(tags.has("foo")); Assert.IsTrue(tags.missing("foo")); Assert.IsNull(tags.get("foo", false)); }
public void testBasics() { HDict tags = new HDictBuilder() .add("id", HRef.make("aaaa-bbbb")) .add("site") .add("geoAddr", "Richmond, Va") .add("area", 1200, "ft") .add("date", HDate.make(2000, 12, 3)) .add("null", (HVal)null) .toDict(); // size Assert.AreEqual(tags.size(), 5); Assert.IsFalse(tags.isEmpty()); // configured tags Assert.IsTrue(tags.get("id").hequals(HRef.make("aaaa-bbbb"))); Assert.IsTrue(tags.get("site").hequals(HMarker.VAL)); Assert.IsTrue(tags.get("geoAddr").hequals(HStr.make("Richmond, Va"))); Assert.IsTrue(tags.get("area").hequals(HNum.make(1200, "ft"))); Assert.IsTrue(tags.get("date").hequals(HDate.make(2000, 12, 3))); Assert.AreEqual(tags.get("null", false), null); try { tags.get("null"); Assert.Fail(); } catch (HaystackUnknownNameException) { Assert.IsTrue(true); } // missing tag Assert.IsFalse(tags.has("foo")); Assert.IsTrue(tags.missing("foo")); Assert.IsNull(tags.get("foo", false)); try { tags.get("foo"); Assert.Fail(); } catch (HaystackUnknownNameException) { Assert.IsTrue(true); } try { tags.get("foo", true); Assert.Fail(); } catch (HaystackUnknownNameException) { Assert.IsTrue(true); } }
public void testEquality() { HDict a = new HDictBuilder().add("x").toDict(); Assert.IsTrue(a.hequals(new HDictBuilder().add("x").toDict())); Assert.IsFalse(a.hequals(new HDictBuilder().add("x", 3).toDict())); Assert.IsFalse(a.hequals(new HDictBuilder().add("y").toDict())); Assert.IsFalse(a.hequals(new HDictBuilder().add("x").add("y").toDict())); a = new HDictBuilder().add("x").add("y", "str").toDict(); Assert.IsTrue(a.hequals(new HDictBuilder().add("x").add("y", "str").toDict())); Assert.IsTrue(a.hequals(new HDictBuilder().add("y", "str").add("x").toDict())); Assert.IsFalse(a.hequals(new HDictBuilder().add("x", "str").add("y", "str").toDict())); Assert.IsFalse(a.hequals(new HDictBuilder().add("x").add("y", "strx").toDict())); Assert.IsFalse(a.hequals(new HDictBuilder().add("y", "str").toDict())); Assert.IsFalse(a.hequals(new HDictBuilder().add("x").toDict())); Assert.IsFalse(a.hequals(new HDictBuilder().add("x").add("yy", "str").toDict())); a = new HDictBuilder().add("x", (HVal)null).toDict(); Assert.IsTrue(a.hequals(new HDictBuilder().add("x", (HVal)null).toDict())); Assert.IsTrue(a.hequals(new HDictBuilder().add("foo", (HVal)null).add("bar", (HVal)null).toDict())); Assert.IsTrue(a.hequals(HDict.Empty)); }
public void testCheckedExplicitMissing() { HDict tags = new HDictBuilder().toDict(); tags.get("foo", true); }