public void MSExcel2003XmlFile_AddRow_GetRowValues()
        {
            //arrange
            MSExcel2003XmlFile xmlFile = new MSExcel2003XmlFile();
            string             title   = "title";
            List <object>      valuesA = new List <object>()
            {
                "abc", 123, new DateTime(1999, 3, 2)
            };
            List <object> valuesB = new List <object>()
            {
                "def", 456, new DateTime(1777, 5, 4)
            };
            //act
            int tableIndex = xmlFile.AddWorksheet(title);

            xmlFile.AddRow(tableIndex, valuesA);
            xmlFile.AddRow(tableIndex, valuesB);
            List <string> savedValuesA  = xmlFile.GetRowValues(tableIndex, 0);
            List <string> savedValuesB  = xmlFile.GetRowValues(tableIndex, 1);
            int           savedRowCount = xmlFile.GetRowCount(tableIndex);

            //assert
            Assert.AreEqual(valuesA.Count, savedValuesA.Count);
            for (int i = 0; i < valuesA.Count; i++)
            {
                if (valuesA[i] is DateTime)
                {
                    Assert.AreEqual(MSExcel2003XmlFile.DateToString((DateTime)valuesA[i]), savedValuesA[i]);
                }
                else
                {
                    Assert.AreEqual(valuesA[i].ToString(), savedValuesA[i]);
                }
            }
            Assert.AreEqual(valuesB.Count, savedValuesB.Count);
            for (int i = 0; i < valuesB.Count; i++)
            {
                if (valuesB[i] is DateTime)
                {
                    Assert.AreEqual(MSExcel2003XmlFile.DateToString((DateTime)valuesB[i]), savedValuesB[i]);
                }
                else
                {
                    Assert.AreEqual(valuesB[i].ToString(), savedValuesB[i]);
                }
            }
            Assert.AreEqual(2, savedRowCount);
        }
        public void WriteTask(MSExcel2003XmlFile xmlFile, int tableIndex, Task task, bool isActive)
        {
            List <XmlNode> cellNodes = new List <XmlNode>()
            {
                xmlFile.GenerateNumberCell(task.Id),
                xmlFile.GenerateParagraphCell(task.Description),
                xmlFile.GenerateTextCell(task.Status),
                xmlFile.GenerateTextCell(task.Category),
                xmlFile.GenerateDateCell(task.CreateDate)
            };

            if (!isActive && task.DoneDate.HasValue)
            {
                cellNodes.Add(xmlFile.GenerateDateCell(task.DoneDate.Value));
            }

            xmlFile.AddRow(tableIndex, cellNodes);
        }