private static void ShowFromToLine(string title, IIssuesSetDiff issuesSetDiff, Func <IIssuesSet, string> getValueProc, Action setValuesColorsProc)
        {
            Debug.Assert(!string.IsNullOrEmpty(title));
            Debug.Assert(issuesSetDiff != null);
            Debug.Assert(getValueProc != null);
            Debug.Assert(setValuesColorsProc != null);


            SetRegularColors();
            Console.Write(title + ":");
            AlignToColumn(END_TITLE_COLUMN);
            Console.Write("from ");

            setValuesColorsProc();
            var fromValue = getValueProc(issuesSetDiff.OlderIssuesSet);

            WriteAlignedRight(fromValue, VALUE_WIDTH);

            SetRegularColors();
            Console.Write(" to ");

            setValuesColorsProc();
            var toValue = getValueProc(issuesSetDiff.NewerIssuesSet);

            WriteAlignedRight(toValue, VALUE_WIDTH);

            Console.WriteLine();
        }
 private static void ShowFromToLine(string title, IIssuesSetDiff issuesSetDiff, Func <IIssuesSet, string> getValueProc)
 {
     Debug.Assert(!string.IsNullOrEmpty(title));
     Debug.Assert(issuesSetDiff != null);
     Debug.Assert(getValueProc != null);
     ShowFromToLine(title, issuesSetDiff, getValueProc, SetValueColors);
 }
        private static void ShowFromToLineForIssues(string title, IIssuesSetDiff issuesSetDiff, Func <IIssuesSet, IIssue[]> getIssuesProc)
        {
            Debug.Assert(!string.IsNullOrEmpty(title));
            Debug.Assert(issuesSetDiff != null);
            Debug.Assert(getIssuesProc != null);

            var oldIssues = getIssuesProc(issuesSetDiff.OlderIssuesSet);
            var newIssues = getIssuesProc(issuesSetDiff.NewerIssuesSet);

            SetRegularColors();
            Console.Write(title + ":");
            AlignToColumn(END_TITLE_COLUMN);
            Console.Write("from ");

            SetValueColors();
            WriteAlignedRight(oldIssues.Length.ToString(), VALUE_WIDTH);

            SetRegularColors();
            Console.Write(" to ");

            SetValueColors();
            WriteAlignedRight(newIssues.Length.ToString(), VALUE_WIDTH);

            var nbAddedIssues = newIssues.Count(issuesSetDiff.WasAdded);

            if (nbAddedIssues > 0)
            {
                SetValueRedColors();
            }
            else
            {
                SetValueColors();
            }
            WriteAlignedRight("+" + nbAddedIssues, VALUE_WIDTH);

            var nbFixedIssues = oldIssues.Count(issuesSetDiff.WasFixed);

            if (nbFixedIssues > 0)
            {
                SetValueGreenColors();
            }
            else
            {
                SetValueColors();
            }
            WriteAlignedRight("-" + nbFixedIssues, VALUE_WIDTH);

            Console.WriteLine();
        }