public void testNoRows() { HGridBuilder b = new HGridBuilder(); b.Meta.add("dis", "Title"); b.addCol("a").add("dis", "Alpha"); b.addCol("b"); HGrid g = b.toGrid(); // meta Assert.AreEqual(g.meta.size(), 1); Assert.IsTrue(g.meta.get("dis").hequals(HStr.make("Title"))); // cols HCol c; Assert.AreEqual(g.numCols, 2); c = verifyCol(g, 0, "a"); Assert.AreEqual(c.dis(), "Alpha"); Assert.AreEqual(c.meta.size(), 1); Assert.IsTrue(c.meta.get("dis").hequals(HStr.make("Alpha"))); // rows Assert.AreEqual(g.numRows, 0); Assert.AreEqual(g.isEmpty(), true); // iterator verifyGridIterator(g); }
public void testSimple() { HGridBuilder b = new HGridBuilder(); b.addCol("id"); b.addCol("dis"); b.addCol("area"); b.addRow(new HVal[] { HRef.make("a"), HStr.make("Alpha"), HNum.make(1200) }); b.addRow(new HVal[] { HRef.make("b"), null, HNum.make(1400) }); // meta HGrid g = b.toGrid(); Assert.AreEqual(g.meta.size(), 0); // cols //HCol c; Assert.AreEqual(g.numCols, 3); verifyCol(g, 0, "id"); verifyCol(g, 1, "dis"); verifyCol(g, 2, "area"); // rows Assert.AreEqual(g.numRows, 2); Assert.IsFalse(g.isEmpty()); HRow r; r = g.row(0); Assert.IsTrue(r.get("id").hequals(HRef.make("a"))); Assert.IsTrue(r.get("dis").hequals(HStr.make("Alpha"))); Assert.IsTrue(r.get("area").hequals(HNum.make(1200))); r = g.row(1); Assert.IsTrue(r.get("id").hequals(HRef.make("b"))); Assert.IsNull(r.get("dis", false)); Assert.IsTrue(r.get("area").hequals(HNum.make(1400))); try { r.get("dis"); Assert.Fail(); } catch (UnknownNameException) { Assert.IsTrue(true); } Assert.IsNull(r.get("fooBar", false)); try { r.get("fooBar"); Assert.Fail(); } catch (UnknownNameException) { Assert.IsTrue(true); } // HRow no-nulls HRow it = g.row(0); Assert.IsFalse(it.Size > 3); verifyRowIterator(it, 0, "id", HRef.make("a")); verifyRowIterator(it, 1, "dis", HStr.make("Alpha")); verifyRowIterator(it, 2, "area", HNum.make(1200)); // HRow with nulls it = g.row(1); Assert.IsFalse(it.Size > 3); verifyRowIterator(it, 0, "id", HRef.make("b")); verifyRowIterator(it, 2, "area", HNum.make(1400)); // iterating verifyGridIterator(g); }
////////////////////////////////////////////////////////////////////////// // Reads ////////////////////////////////////////////////////////////////////////// protected override HDict onReadById(HRef id) { HGrid res = readByIds(new HRef[] { id }, false); if (res.isEmpty()) { return(null); } HDict rec = res.row(0); if (rec.missing("id")) { return(null); } return(rec); }