< Summary

Class:Mklinker.ConsoleHelpWriter
Assembly:Mklinker
File(s):/home/travis/build/rubenchristoffer/Mklinker/Mklinker/ConsoleHelpWriter.cs
Covered lines:0
Uncovered lines:22
Coverable lines:22
Total lines:40
Line coverage:0% (0 of 22)
Covered branches:0
Total branches:8
Branch coverage:0% (0 of 8)

Metrics

MethodCyclomatic complexity NPath complexity Sequence coverage Branch coverage
Write(...)200%0%
WriteLine(...)600%0%

File(s)

/home/travis/build/rubenchristoffer/Mklinker/Mklinker/ConsoleHelpWriter.cs

#LineLine coverage
 1using System.IO;
 2using System.Linq;
 3
 4namespace Mklinker {
 5
 6  class ConsoleHelpWriter : StringWriter {
 7
 08    public override void Write (string value) {
 09      string[] lines = value.Split (System.Console.Out.NewLine);
 10
 011      for (int i = 0; i < lines.Length - 1; i++) {
 012        WriteLine (lines[i]);
 013      }
 014    }
 15
 016    public override void WriteLine (string value) {
 17      // Use prefixes to add color coding to certain lines
 018      string[] yellowPrefixes = { "Mklinker", "Copyright" };
 019      string[] whitePrefixes = { "help", "--help", "version", "--version" };
 020      string[] redPrefixes = { "ERROR", "Verb", "Option", "A required", "No verb" };
 21
 022      if (yellowPrefixes.Any (p => value.Trim ().StartsWith (p))) {
 023        System.Console.ForegroundColor = System.ConsoleColor.Yellow;
 024      }
 25
 026      if (whitePrefixes.Any (p => value.Trim ().StartsWith (p))) {
 027        System.Console.ForegroundColor = System.ConsoleColor.White;
 028      }
 29
 030      if (redPrefixes.Any (p => value.Trim ().StartsWith (p))) {
 031        System.Console.ForegroundColor = System.ConsoleColor.Red;
 032      }
 33
 034      System.Console.Out.WriteLine (value);
 035      System.Console.ResetColor ();
 036    }
 37
 38  }
 39
 40}