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);
        }
Beispiel #2
0
        //////////////////////////////////////////////////////////////////////////
        // 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();
 }