Ejemplo n.º 1
0
//public static


    // CSVファイルから適切なCsvDataTableの派生クラスを作るファクトリメソッド
    public static CsvDataTable CreateCsvDataTable(FileInfo file)
    {
        string[][]   alldata = LoadCSV(file);
        CsvDataTable result  = null;

        try{
            if (alldata[0][0].StartsWith("テストファイルNo."))
            {
                result      = new AsDescriptionTable();
                result.Name = Path.GetFileNameWithoutExtension(file.Name);
            }
            else if (alldata[0][1].IndexOf("アクセシビリティサポーテッド検証結果") >= 0)
            {
                result = new AsTestResultTable();
            }
            else
            {
                result = new SuccessCriteriaTable();
            }
            if (result == null)
            {
                return(null);
            }
            Console.WriteLine("Load start: {0}", file.FullName);
            result.Load(alldata);
            Console.WriteLine("Loaded: {0} rows ({1} : {2})", result.Rows.Count, result.GetType(), result.Name);

            return(result);
        } catch (Exception e) {
            throw new Exception(string.Format("データが読めませんでした。{0} \n {1}", file.FullName, alldata[0][1]), e);
        }
    }
Ejemplo n.º 2
0
    //public static
    // CSVファイルから適切なCsvDataTableの派生クラスを作るファクトリメソッド
    public static CsvDataTable CreateCsvDataTable(FileInfo file)
    {
        string[][] alldata = LoadCSV(file);
        CsvDataTable result = null;
        try{
            if(alldata[0][0].StartsWith("テストファイルNo.")){
                result = new AsDescriptionTable();
                result.Name = Path.GetFileNameWithoutExtension(file.Name);
            } else if(alldata[0][1].IndexOf("アクセシビリティサポーテッド検証結果") >= 0){
                result = new AsTestResultTable();
            } else {
                result = new SuccessCriteriaTable();
            }
            if(result == null) return null;
            Console.WriteLine("Load start: {0}", file.FullName);
            result.Load(alldata);
            Console.WriteLine("Loaded: {0} rows ({1} : {2})", result.Rows.Count, result.GetType(), result.Name);

            return result;
        } catch (Exception e){
            throw new Exception(string.Format("データが読めませんでした。{0} \n {1}", file.FullName, alldata[0][1]), e);
        }
    }
Ejemplo n.º 3
0
    // DescriptionのXML/HTMLをすべてSaveします。
    public void SaveAllChildren(AsDescriptionTable adt)
    {
        foreach (DataRow row in adt.Rows)
        {
            string id = row[AsDescriptionTable.IdColumnName].ToString();

            XmlDocument xml = new XmlDocument()
            {
                XmlResolver = null
            };
            XmlElement root = xml.CreateElement("description");
            xml.AppendChild(root);

            // 達成基準の情報を追加
            // ほかの達成基準からも参照されている可能性があるので全てのテーブルを見る

            int count = 0;
            foreach (AsDescriptionTable otherAdt in AsDescriptionTables)
            {
                DataRow r = otherAdt.Rows.Find(id);
                if (r != null)
                {
                    XmlElement successCriteriaElement = xml.CreateElement("successCriteria");
                    XmlNode    scResult = SuccessCriteriaTable.GetSuccessCriteriaInfo(xml, otherAdt.Name);
                    root.AppendChild(scResult);

                    count++;
                }
            }

            if (count > 1)
            {
                Console.WriteLine("multiple use: {0} ", id);
            }

            string testType = GetTestTypeById(id);
            if (testType != null)
            {
                XmlElement testTypeElement = xml.CreateElement("testType");
                testTypeElement.InnerText = testType;
                root.AppendChild(testTypeElement);
            }

            root.AppendChild(adt.RowToXml(row, xml));

            XmlElement testDetail     = xml.CreateElement("testDetail");
            XmlNode    testDetailNode = GetTestDetail(id, xml);
            if (testDetail != null)
            {
                testDetail.AppendChild(testDetailNode);
                root.AppendChild(testDetail);
            }
            else
            {
                Console.Error.WriteLine("testDetailが取得できませんでした : {0}", id);
            }

            FileInfo outputXml = GetFileInfo(OutputXmlDir, id + ".xml");
            SaveXml(xml, outputXml);

            FileInfo outputHtml = GetFileInfo(OutputHtmlDir, id + ".html");
            CreateHtml("doc", xml, outputHtml);
        }
    }
Ejemplo n.º 4
0
    // DescriptionのXML/HTMLをすべてSaveします。
    public void SaveAllChildren(AsDescriptionTable adt)
    {
        foreach(DataRow row in adt.Rows){
            string id = row[AsDescriptionTable.IdColumnName].ToString();

            XmlDocument xml = new XmlDocument(){XmlResolver = null};
            XmlElement root = xml.CreateElement("description");
            xml.AppendChild(root);

            // 達成基準の情報を追加
            // ほかの達成基準からも参照されている可能性があるので全てのテーブルを見る

            int count = 0;
            foreach(AsDescriptionTable otherAdt in AsDescriptionTables){
                DataRow r = otherAdt.Rows.Find(id);
                if(r != null){
                    XmlElement successCriteriaElement = xml.CreateElement("successCriteria");
                    XmlNode scResult = SuccessCriteriaTable.GetSuccessCriteriaInfo(xml, otherAdt.Name);
                    root.AppendChild(scResult);

                    count++;
                }
            }

            if(count > 1){
                Console.WriteLine("multiple use: {0} ", id);
            }

            string testType = GetTestTypeById(id);
            if(testType != null){
                XmlElement testTypeElement = xml.CreateElement("testType");
                testTypeElement.InnerText = testType;
                root.AppendChild(testTypeElement);
            }

            root.AppendChild(adt.RowToXml(row, xml));

            XmlElement testDetail = xml.CreateElement("testDetail");
            XmlNode testDetailNode = GetTestDetail(id, xml);
            if(testDetail != null){
                testDetail.AppendChild(testDetailNode);
                root.AppendChild(testDetail);
            } else {
                Console.Error.WriteLine("testDetailが取得できませんでした : {0}", id);
            }

            FileInfo outputXml = GetFileInfo(OutputXmlDir, id + ".xml");
            SaveXml(xml, outputXml);

            FileInfo outputHtml = GetFileInfo(OutputHtmlDir, id + ".html");
            CreateHtml("doc", xml, outputHtml);
        }
    }