Example #1
0
            public void ProcessRecord(Record record)
            {
                _records.Add(record);

                if (record is MissingRowDummyRecord)
                {
                    MissingRowDummyRecord mr = (MissingRowDummyRecord)record;
                    log("Got dummy row " + mr.RowNumber);
                }
                if (record is MissingCellDummyRecord)
                {
                    MissingCellDummyRecord mc = (MissingCellDummyRecord)record;
                    log("Got dummy cell " + mc.Row + " " + mc.Column);
                }
                if (record is LastCellOfRowDummyRecord)
                {
                    LastCellOfRowDummyRecord lc = (LastCellOfRowDummyRecord)record;
                    log("Got end-of row, row was " + lc.Row + ", last column was " + lc.LastColumnNumber);
                }

                if (record is BOFRecord)
                {
                    BOFRecord r = (BOFRecord)record;
                    if (r.Type == BOFRecord.TYPE_WORKSHEET)
                    {
                        log("On new sheet");
                    }
                }
                if (record is RowRecord)
                {
                    RowRecord rr = (RowRecord)record;
                    log("Starting row #" + rr.RowNumber);
                }
            }
Example #2
0
        public void TestNoExtraNewLines()
        {
            // Load a different file
            // This file has has something in lines 1-33
            ReadRecords("MRExtraLines.xls");

            int rowCount = 0;

            for (int i = 0; i < r.Length; i++)
            {
                if (r[i] is LastCellOfRowDummyRecord)
                {
                    LastCellOfRowDummyRecord eor = (LastCellOfRowDummyRecord)r[i];
                    Assert.AreEqual(rowCount, eor.Row);
                    rowCount++;
                }
            }
            // Check we got the 33 rows
            Assert.AreEqual(33, rowCount);
        }
Example #3
0
        public void TestEndOfRowRecords()
        {
            OpenNormal();

            // Find the cell at 0,0
            int cell00 = -1;

            for (int i = 0; i < r.Length; i++)
            {
                if (r[i] is LabelSSTRecord)
                {
                    LabelSSTRecord lr = (LabelSSTRecord)r[i];
                    if (lr.Row == 0 && lr.Column == 0)
                    {
                        cell00 = i;
                    }
                }
            }
            Assert.IsTrue(cell00 > -1);

            // We have rows 0, 1, 2, 20 and 21
            // Row 0 has 1 entry
            // Row 1 has 4 entries
            // Row 2 has 6 entries
            // Row 20 has 5 entries
            // Row 21 has 7 entries
            // Row 22 has 12 entries

            // Row 0
            Assert.IsFalse(r[cell00 + 0] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 1] is LastCellOfRowDummyRecord);
            // Row 1
            Assert.IsFalse(r[cell00 + 2] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 3] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 4] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 5] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 6] is LastCellOfRowDummyRecord);
            // Row 2
            Assert.IsFalse(r[cell00 + 7] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 8] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 9] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 10] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 11] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 12] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 13] is LastCellOfRowDummyRecord);
            // Row 3 -> 19
            Assert.IsTrue(r[cell00 + 14] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 15] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 16] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 17] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 18] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 19] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 20] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 21] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 22] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 23] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 24] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 25] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 26] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 27] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 28] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 29] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 30] is LastCellOfRowDummyRecord);
            // Row 20
            Assert.IsFalse(r[cell00 + 31] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 32] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 33] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 34] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 35] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 36] is LastCellOfRowDummyRecord);
            // Row 21
            Assert.IsFalse(r[cell00 + 37] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 38] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 39] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 40] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 41] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 42] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 43] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 44] is LastCellOfRowDummyRecord);
            // Row 22
            Assert.IsFalse(r[cell00 + 45] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 46] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 47] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 48] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 49] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 50] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 51] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 52] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 53] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 54] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 55] is LastCellOfRowDummyRecord);
            Assert.IsFalse(r[cell00 + 56] is LastCellOfRowDummyRecord);
            Assert.IsTrue(r[cell00 + 57] is LastCellOfRowDummyRecord);

            // Check the numbers of the last seen columns
            LastCellOfRowDummyRecord[] lrs = new LastCellOfRowDummyRecord[24];
            int lrscount = 0;

            for (int i = 0; i < r.Length; i++)
            {
                if (r[i] is LastCellOfRowDummyRecord)
                {
                    lrs[lrscount] = (LastCellOfRowDummyRecord)r[i];
                    lrscount++;
                }
            }

            Assert.AreEqual(0, lrs[0].LastColumnNumber);
            Assert.AreEqual(0, lrs[0].Row);

            Assert.AreEqual(3, lrs[1].LastColumnNumber);
            Assert.AreEqual(1, lrs[1].Row);

            Assert.AreEqual(5, lrs[2].LastColumnNumber);
            Assert.AreEqual(2, lrs[2].Row);

            for (int i = 3; i <= 19; i++)
            {
                Assert.AreEqual(-1, lrs[i].LastColumnNumber);
                Assert.AreEqual(i, lrs[i].Row);
            }

            Assert.AreEqual(4, lrs[20].LastColumnNumber);
            Assert.AreEqual(20, lrs[20].Row);

            Assert.AreEqual(6, lrs[21].LastColumnNumber);
            Assert.AreEqual(21, lrs[21].Row);

            Assert.AreEqual(11, lrs[22].LastColumnNumber);
            Assert.AreEqual(22, lrs[22].Row);
        }