コード例 #1
0
 /// <summary>
 /// Builds a row column based on the column data.
 /// </summary>
 /// <param name="columnData">Information on how to build one column of the row.</param>
 protected virtual void AddColumn(ColumnDef columnData)
 {
     if ((++count) > 1) {
     rowString.Append(this.info.SyntaxData.ColumnDelimiter);
     }
     this.BuildColumn(columnData);
 }
コード例 #2
0
 /// <summary>Builds a SQL type string if # found and MaxLength larger than 0.</summary>
 /// <param name="columnDef">Column metadata object.</param>
 /// <returns>
 /// Built type string if constraints are present or the ColumnDef.SqlRepresentation.
 /// </returns>
 private String BuildColumnType(ColumnDef columnDef)
 {
     Regex reg = new Regex("[" + typeSizeToken + "]");
     if (reg.IsMatch(columnDef.SqlRepresentation) && columnDef.MaxLength > 0) {
     return reg.Replace(columnDef.SqlRepresentation, columnDef.MaxLength.ToString());
     }
     return columnDef.SqlRepresentation;
 }
コード例 #3
0
        /// <summary>Called by the base class to build one column's information.</summary>
        /// <param name="columnDef">Metadat for one column.</param>
        protected override void BuildColumn(ColumnDef columnDef)
        {
            // columnDef.MaxLength

            this.rowString
            .Append(columnDef.Name)
            .Append(" ")
            .Append(this.BuildColumnType(columnDef));
        }
コード例 #4
0
ファイル: Log.cs プロジェクト: MichaelRoop/NET_TestHarness
 /// <summary>
 /// Implements the method from IQueryable. Allows the objects data to be querried.
 /// </summary>
 /// <param name="columnDef">Column metadata.</param>
 /// <param name="info">Log metadata.</param>
 /// <returns>The string format of the data indexed by the column's metadata.</returns>
 public String GetValue(ColumnDef columnDef, LogInfo info)
 {
     if (columnDef.Name.CompareTo("SuccessCount") == 0) {
     return Convert.ToString(this.successCount);
     }
     else if (columnDef.Name.CompareTo("FailInitCount") == 0) {
     return Convert.ToString(this.failInitCount);
     }
     else if (columnDef.Name.CompareTo("FailSetupCount") == 0) {
     return Convert.ToString(this.failSetupCount);
     }
     else if (columnDef.Name.CompareTo("FailTestCount") == 0) {
     return Convert.ToString(this.failTestCount);
     }
     else if (columnDef.Name.CompareTo("FailCleanupCount") == 0) {
     return Convert.ToString(this.failCleanupCount);
     }
     else if (columnDef.Name.CompareTo("NotExistCount") == 0) {
     return Convert.ToString(this.notExistCount);
     }
     else if (columnDef.Name.CompareTo("UncheckedExceptionCount") == 0) {
     return Convert.ToString(this.exceptionCount);
     }
     else if (columnDef.Name.CompareTo("JavaErrorCount") == 0) {
     return Convert.ToString(this.assertCount);
     }
     else if (columnDef.Name.CompareTo("TotalCount") == 0) {
     return Convert.ToString(
             this.failInitCount + this.failSetupCount + this.failCleanupCount +
             this.failTestCount + this.successCount   + this.notExistCount + exceptionCount +
             this.assertCount
         );
     }
     else if (columnDef.Name.CompareTo("RunId") == 0) {
     // Do NOT do a truncate check against the run id.  The output would become useless to identify.
     // Better let it to fail on length limit.
     return new StringBuilder()
         .Append(info.SyntaxData.StringDelimiter)
         .Append(TestEngine.GetInstance().GetRunId())
         .Append(info.SyntaxData.StringDelimiter)
         .ToString();
     }
     else
     {
     StringBuilder sb = new StringBuilder( 200 );
     sb.Append( "Illegal column name:" ).Append(columnDef.Name);
     sb.Append( " - Allowable values are:" );
     sb.Append( "SuccessCount, FailInitCount, FailSetupCount, FailTestCount, " );
     sb.Append( "FailCleanupCount, NotExistCount, RunId, TotalCount" );
     throw new InputException( sb.ToString() );
     }
 }
コード例 #5
0
 // Wrap string data in string delimiters quotes.
 private string WrapStringData(string str, ColumnDef columnDef, LogInfo info)
 {
     return new StringBuilder(25)
     .Append(info.SyntaxData.StringDelimiter)
     .Append(this.TrimToSize(str, columnDef))
     .Append(info.SyntaxData.StringDelimiter).ToString();
 }
コード例 #6
0
 private string TrimToSize(string str, ColumnDef columnDef)
 {
     if (columnDef.IsDataToBeTruncated()) {
     if (str.Length > columnDef.MaxLength) {
         return str.Substring(0, columnDef.MaxLength);
     }
     }
     return str;
 }
コード例 #7
0
 // Assemble the verbose buffer message.
 private string BuildVerboseBufferStr(ColumnDef columnDef, LogInfo info)
 {
     //TODO Look at moving this to an output level object.
     StringBuilder sb = new StringBuilder();
     sb.Append(info.SyntaxData.StringDelimiter);
     if (this.VerboseBuffer.Length > 0)
     {
     StringBuilder tmpSb = new StringBuilder();
     tmpSb.Append(info.OutputData.NewLineSequence)
         .Append("-----------------------------------").Append(info.OutputData.NewLineSequence)
         .Append(this.VerboseBuffer.ToString())
         .Append(info.OutputData.NewLineSequence);
     sb.Append(this.TrimToSize(tmpSb.ToString(), columnDef));
     }
     return sb.Append(info.SyntaxData.StringDelimiter).ToString();
 }
コード例 #8
0
        /// <summary>
        /// Implements the ILogable interface GetValue.  This allows the object to be queried for 
        /// its values.
        /// </summary>
        /// <param name="columnDef">Column metadata.</param>
        /// <param name="info">Log metadata</param>
        /// <returns>The string representation of the queried data field.</returns>
        public String GetValue(ColumnDef columnDef, LogInfo info)
        {
            if (columnDef.Name.CompareTo("Identifier") == 0) {
            return this.WrapStringData(this.Id, columnDef, info);
            }
            else if (columnDef.Name.CompareTo("Description") == 0) {
            return this.WrapStringData(this.desc, columnDef, info);
            }
            else if (columnDef.Name.CompareTo("Status") == 0) {
            return this.WrapStringData(this.Status.ToString(), columnDef, info);
            }
            else if (columnDef.Name.CompareTo("Message") == 0) {
            return this.WrapStringData(this.MsgBuffer.ToString(), columnDef, info);
            }
            else if (columnDef.Name.CompareTo("InitTime") == 0) {
            return Convert.ToString(this.initTime);
            }
            else if (columnDef.Name.CompareTo("SetupTime") == 0) {
            return Convert.ToString(this.setupTime);
            }
            else if (columnDef.Name.CompareTo("ExecTime") == 0) {
            return Convert.ToString(this.execTime);
            }
            else if (columnDef.Name.CompareTo("CleanupTime") == 0) {
            return Convert.ToString(this.cleanupTime);
            }
            else if (columnDef.Name.CompareTo("RunId") == 0) {
            // Do NOT truncate run id or output could be useless as identifier. Better let it to fail.
            return new StringBuilder()
                .Append(info.SyntaxData.StringDelimiter)
                .Append(TestEngine.GetInstance().GetRunId())
                .Append(info.SyntaxData.StringDelimiter).ToString();
            }
            else if (columnDef.Name.CompareTo("VerboseMessage") == 0) {
            return this.BuildVerboseBufferStr(columnDef, info);
            }
            else
            {
            StringBuilder sb = new StringBuilder( 200 );
            sb.Append("Illegal column name:").Append(columnDef.Name)
                .Append(" - Allowable values are:")
                .Append("ID, Description, Status, InitTime,SetupTime, ExecTime, CleanupTime, RunId Message, VerboseMessage");
            throw new InputException(sb.ToString());

            // TODO - Replace with our own exceptions.
            throw new System.ArgumentException(sb.ToString());
            }
        }
コード例 #9
0
 /// <see cref="RowBuilder.BuildColumn"/>
 protected override void BuildColumn(ColumnDef columnDef)
 {
     this.rowString.Append(queryable.GetValue(columnDef, this.info));
 }
コード例 #10
0
 /// <summary>
 /// Override to format each column's data before it is added to the row string.
 /// </summary>
 /// <param name="columnDef">The metadata for the column's data.</param>
 protected abstract void BuildColumn(ColumnDef columnDef);