HCol verifyCol(HGrid g, int i, string n) { HCol col = g.col(i); Assert.IsTrue(g.col(i).hequals(g.col(n))); Assert.AreEqual(col.Name, n); return(col); }
////////////////////////////////////////////////////////////////////////// // Identity ////////////////////////////////////////////////////////////////////////// // Hash code is not needed for .NET - see notes in HDict // Equality is name and meta public bool hequals(object that) { if (!(that is HCol)) { return(false); } HCol x = (HCol)that; return((Name.Equals(x.Name)) && (meta.hequals(x.meta))); }
////////////////////////////////////////////////////////////////////////// // HGridWriter ////////////////////////////////////////////////////////////////////////// // Write a grid public override void writeGrid(HGrid grid) { // grid begin m_swOut.Write("{\n"); // meta m_swOut.Write("\"meta\": {\"ver\":\"2.0\""); writeDictTags(grid.meta, false); m_swOut.Write("},\n"); // columns m_swOut.Write("\"cols\":[\n"); for (int i = 0; i < grid.numCols; i++) { if (i > 0) { m_swOut.Write(",\n"); } HCol col = grid.col(i); m_swOut.Write("{\"name\":"); m_swOut.Write(HStr.toCode(col.Name)); writeDictTags(col.meta, false); m_swOut.Write("}"); } m_swOut.Write("\n],\n"); // rows m_swOut.Write("\"rows\":[\n"); for (int i = 0; i < grid.numRows; i++) { if (i > 0) { m_swOut.Write(",\n"); } writeDict(grid.row(i)); } m_swOut.Write("\n]\n"); // grid end m_swOut.Write("}\n"); m_swOut.Flush(); }
private void writeCol(HCol col) { p(col.Name).writeMeta(col.meta); flush(); }