Пример #1
0
 public static TimeStringFormatter Define(TimeStringFormatter.Qualifier qualifier, string suffix)
 {
     if (string.IsNullOrEmpty(suffix))
     {
         return(TimeStringFormatter.Define(qualifier));
     }
     return(new TimeStringFormatter(TimeStringFormatter.Merge(qualifier.aDay, suffix), TimeStringFormatter.Merge(qualifier.days, suffix), TimeStringFormatter.Merge(qualifier.aHour, suffix), TimeStringFormatter.Merge(qualifier.hours, suffix), TimeStringFormatter.Merge(qualifier.aMinute, suffix), TimeStringFormatter.Merge(qualifier.minutes, suffix), TimeStringFormatter.Merge(qualifier.aSecond, suffix), TimeStringFormatter.Merge(qualifier.seconds, suffix), TimeStringFormatter.Merge(qualifier.lessThanASecond, suffix)));
 }
Пример #2
0
        public void MinutesSecondTest()
        {
            var expected  = "03m 02s";
            var timesspan = new TimeSpan(0, 3, 2);
            var actual    = TimeStringFormatter.BuildTimeString(timesspan);

            Assert.AreEqual(expected, actual);
        }
Пример #3
0
 public static TimeStringFormatter Define(string prefix, TimeStringFormatter.Qualifier qualifier)
 {
     if (string.IsNullOrEmpty(prefix))
     {
         return(TimeStringFormatter.Define(qualifier));
     }
     return(new TimeStringFormatter(TimeStringFormatter.Merge(prefix, qualifier.aDay), TimeStringFormatter.Merge(prefix, qualifier.days), TimeStringFormatter.Merge(prefix, qualifier.aHour), TimeStringFormatter.Merge(prefix, qualifier.hours), TimeStringFormatter.Merge(prefix, qualifier.aMinute), TimeStringFormatter.Merge(prefix, qualifier.minutes), TimeStringFormatter.Merge(prefix, qualifier.aSecond), TimeStringFormatter.Merge(prefix, qualifier.seconds), TimeStringFormatter.Merge(prefix, qualifier.lessThanASecond)));
 }
Пример #4
0
        public void DualDigitMinutesSecondsTest()
        {
            var expected = "12m 24s";
            var timespan = new TimeSpan(0, 12, 24);
            var actual   = TimeStringFormatter.BuildTimeString(timespan);

            Assert.AreEqual(expected, actual);
        }
Пример #5
0
 public static TimeStringFormatter Define(TimeStringFormatter.Qualifier qualifier, string suffix)
 {
     if (string.IsNullOrEmpty(suffix))
     {
         return TimeStringFormatter.Define(qualifier);
     }
     return new TimeStringFormatter(TimeStringFormatter.Merge(qualifier.aDay, suffix), TimeStringFormatter.Merge(qualifier.days, suffix), TimeStringFormatter.Merge(qualifier.aHour, suffix), TimeStringFormatter.Merge(qualifier.hours, suffix), TimeStringFormatter.Merge(qualifier.aMinute, suffix), TimeStringFormatter.Merge(qualifier.minutes, suffix), TimeStringFormatter.Merge(qualifier.aSecond, suffix), TimeStringFormatter.Merge(qualifier.seconds, suffix), TimeStringFormatter.Merge(qualifier.lessThanASecond, suffix));
 }
Пример #6
0
 public static TimeStringFormatter Define(string prefix, TimeStringFormatter.Qualifier qualifier)
 {
     if (string.IsNullOrEmpty(prefix))
     {
         return TimeStringFormatter.Define(qualifier);
     }
     return new TimeStringFormatter(TimeStringFormatter.Merge(prefix, qualifier.aDay), TimeStringFormatter.Merge(prefix, qualifier.days), TimeStringFormatter.Merge(prefix, qualifier.aHour), TimeStringFormatter.Merge(prefix, qualifier.hours), TimeStringFormatter.Merge(prefix, qualifier.aMinute), TimeStringFormatter.Merge(prefix, qualifier.minutes), TimeStringFormatter.Merge(prefix, qualifier.aSecond), TimeStringFormatter.Merge(prefix, qualifier.seconds), TimeStringFormatter.Merge(prefix, qualifier.lessThanASecond));
 }
Пример #7
0
 public static TimeStringFormatter Define(TimeStringFormatter formatter, string lessThanASecond)
 {
     if (!object.ReferenceEquals(lessThanASecond, null))
     {
         formatter = new TimeStringFormatter(formatter.aDay, formatter.days, formatter.aHour, formatter.hours, formatter.aMinute, formatter.minutes, formatter.aSecond, formatter.seconds, TimeStringFormatter.Merge(lessThanASecond));
     }
     return(formatter);
 }
Пример #8
0
 public static TimeStringFormatter Define(TimeStringFormatter.Qualifier qualifier)
 {
     return(new TimeStringFormatter(TimeStringFormatter.Merge(qualifier.aDay), TimeStringFormatter.Merge(qualifier.days), TimeStringFormatter.Merge(qualifier.aHour), TimeStringFormatter.Merge(qualifier.hours), TimeStringFormatter.Merge(qualifier.aMinute), TimeStringFormatter.Merge(qualifier.minutes), TimeStringFormatter.Merge(qualifier.aSecond), TimeStringFormatter.Merge(qualifier.seconds), TimeStringFormatter.Merge(qualifier.lessThanASecond)));
 }
Пример #9
0
 private static string Merge(string prefix, string qualifier, string suffix)
 {
     return(TimeStringFormatter.DoMerge(string.Concat(prefix ?? string.Empty, qualifier ?? string.Empty, suffix ?? string.Empty)));
 }
Пример #10
0
 private static string Merge(string prefix)
 {
     return(TimeStringFormatter.DoMerge(prefix ?? string.Empty));
 }
Пример #11
0
    public string GetFormattingString(TimeSpan timePassed, TimeStringFormatter.Rounding rounding)
    {
        string str;
        object obj;
        string str1;
        int    num  = 2;
        int    num1 = num;
        double num2 = 1;
        double num3 = num2;
        double num4 = TimeStringFormatter.Round(timePassed.TotalSeconds, rounding, num, num2);

        if (num4 <= 0)
        {
            str = this.lessThanASecond;
        }
        else if (num4 == 1)
        {
            str = this.aSecond;
        }
        else if (num4 >= 60)
        {
            int num5 = 2;
            num1 = num5;
            double num6 = 0.6;
            num3 = num6;
            double num7 = TimeStringFormatter.Round(timePassed.TotalMinutes, rounding, num5, num6);
            num4 = num7;
            if (num7 == 1)
            {
                str = this.aMinute;
            }
            else if (num4 >= 60)
            {
                int num8 = 2;
                num1 = num8;
                double num9 = 1;
                num3 = num9;
                double num10 = TimeStringFormatter.Round(timePassed.TotalHours, rounding, num8, num9);
                num4 = num10;
                if (num10 == 1)
                {
                    str = this.aHour;
                }
                else if (num4 >= 24)
                {
                    int num11 = 2;
                    num1 = num11;
                    double num12 = 0.24;
                    num3 = num12;
                    double num13 = TimeStringFormatter.Round(timePassed.TotalDays, rounding, num11, num12);
                    num4 = num13;
                    str  = (num13 != 1 ? this.days : this.aDay);
                }
                else
                {
                    str = this.hours;
                }
            }
            else
            {
                str = this.minutes;
            }
        }
        else
        {
            str = this.seconds;
        }
        if (rounding == TimeStringFormatter.Rounding.RoundedDecimal || rounding == TimeStringFormatter.Rounding.FancyDecimal || rounding == TimeStringFormatter.Rounding.RoundedFancyDecimal)
        {
            if (rounding == TimeStringFormatter.Rounding.RoundedDecimal || rounding == TimeStringFormatter.Rounding.RoundedFancyDecimal)
            {
                if (num1 != 2)
                {
                    throw new NotSupportedException("We gotta add support for that");
                }
                str1 = num4.ToString("0.00");
            }
            else
            {
                str1 = num4.ToString();
            }
            obj = (rounding == TimeStringFormatter.Rounding.FancyDecimal || rounding == TimeStringFormatter.Rounding.RoundedFancyDecimal ? str1.Replace('.', ':') : str1);
        }
        else
        {
            obj = (rounding == TimeStringFormatter.Rounding.Decimal || double.IsNaN(num4) || double.IsInfinity(num4) ? num4 : (int)num4);
        }
        return(string.Format(str, obj));
    }
Пример #12
0
 public string GetFormattingString(TimeSpan timePassed, TimeStringFormatter.Rounding rounding)
 {
     string str;
     object obj;
     string str1;
     int num = 2;
     int num1 = num;
     double num2 = 1;
     double num3 = num2;
     double num4 = TimeStringFormatter.Round(timePassed.TotalSeconds, rounding, num, num2);
     if (num4 <= 0)
     {
         str = this.lessThanASecond;
     }
     else if (num4 == 1)
     {
         str = this.aSecond;
     }
     else if (num4 >= 60)
     {
         int num5 = 2;
         num1 = num5;
         double num6 = 0.6;
         num3 = num6;
         double num7 = TimeStringFormatter.Round(timePassed.TotalMinutes, rounding, num5, num6);
         num4 = num7;
         if (num7 == 1)
         {
             str = this.aMinute;
         }
         else if (num4 >= 60)
         {
             int num8 = 2;
             num1 = num8;
             double num9 = 1;
             num3 = num9;
             double num10 = TimeStringFormatter.Round(timePassed.TotalHours, rounding, num8, num9);
             num4 = num10;
             if (num10 == 1)
             {
                 str = this.aHour;
             }
             else if (num4 >= 24)
             {
                 int num11 = 2;
                 num1 = num11;
                 double num12 = 0.24;
                 num3 = num12;
                 double num13 = TimeStringFormatter.Round(timePassed.TotalDays, rounding, num11, num12);
                 num4 = num13;
                 str = (num13 != 1 ? this.days : this.aDay);
             }
             else
             {
                 str = this.hours;
             }
         }
         else
         {
             str = this.minutes;
         }
     }
     else
     {
         str = this.seconds;
     }
     if (rounding == TimeStringFormatter.Rounding.RoundedDecimal || rounding == TimeStringFormatter.Rounding.FancyDecimal || rounding == TimeStringFormatter.Rounding.RoundedFancyDecimal)
     {
         if (rounding == TimeStringFormatter.Rounding.RoundedDecimal || rounding == TimeStringFormatter.Rounding.RoundedFancyDecimal)
         {
             if (num1 != 2)
             {
                 throw new NotSupportedException("We gotta add support for that");
             }
             str1 = num4.ToString("0.00");
         }
         else
         {
             str1 = num4.ToString();
         }
         obj = (rounding == TimeStringFormatter.Rounding.FancyDecimal || rounding == TimeStringFormatter.Rounding.RoundedFancyDecimal ? str1.Replace('.', ':') : str1);
     }
     else
     {
         obj = (rounding == TimeStringFormatter.Rounding.Decimal || double.IsNaN(num4) || double.IsInfinity(num4) ? num4 : (int)num4);
     }
     return string.Format(str, obj);
 }
Пример #13
0
 public static TimeStringFormatter Define(TimeStringFormatter formatter, string lessThanASecond)
 {
     if (!object.ReferenceEquals(lessThanASecond, null))
     {
         formatter = new TimeStringFormatter(formatter.aDay, formatter.days, formatter.aHour, formatter.hours, formatter.aMinute, formatter.minutes, formatter.aSecond, formatter.seconds, TimeStringFormatter.Merge(lessThanASecond));
     }
     return formatter;
 }
Пример #14
0
 public static TimeStringFormatter Define(TimeStringFormatter.Qualifier qualifier)
 {
     return new TimeStringFormatter(TimeStringFormatter.Merge(qualifier.aDay), TimeStringFormatter.Merge(qualifier.days), TimeStringFormatter.Merge(qualifier.aHour), TimeStringFormatter.Merge(qualifier.hours), TimeStringFormatter.Merge(qualifier.aMinute), TimeStringFormatter.Merge(qualifier.minutes), TimeStringFormatter.Merge(qualifier.aSecond), TimeStringFormatter.Merge(qualifier.seconds), TimeStringFormatter.Merge(qualifier.lessThanASecond));
 }
Пример #15
0
 private static double Round(double total, TimeStringFormatter.Rounding rounding, int decimalPlaces, double fancyUnits)
 {
     if (total <= 0)
     {
         return 0;
     }
     switch (rounding)
     {
         case TimeStringFormatter.Rounding.Floor:
         {
             return Math.Floor(total);
         }
         case TimeStringFormatter.Rounding.Ceiling:
         {
             return Math.Ceiling(total);
         }
         case TimeStringFormatter.Rounding.Round:
         {
             return Math.Round(total);
         }
         case TimeStringFormatter.Rounding.Decimal:
         {
             fancyUnits = 1;
             decimalPlaces = 0;
             break;
         }
         case TimeStringFormatter.Rounding.RoundedDecimal:
         {
             fancyUnits = 1;
             break;
         }
         case TimeStringFormatter.Rounding.FancyDecimal:
         {
             decimalPlaces = 0;
             break;
         }
     }
     if (decimalPlaces == 0)
     {
         return total;
     }
     double num = Math.Floor(total);
     return num + Math.Floor((total - num) * fancyUnits * ((double)decimalPlaces * 10)) / (10 * (double)decimalPlaces);
 }
Пример #16
0
 /// <summary>
 ///     Builds the time span string.
 /// </summary>
 /// <param name="timespan">The timespan.</param>
 /// <returns></returns>
 private string BuildTimeSpanString(TimeSpan timespan)
 {
     return(TimeStringFormatter.BuildTimeString(timespan));
 }
Пример #17
0
 public static TimeStringFormatter Define(string prefix, TimeStringFormatter.Qualifier qualifier, string suffix, string lessThanASecond)
 {
     return(TimeStringFormatter.Define(TimeStringFormatter.Define(prefix, qualifier, suffix), lessThanASecond));
 }
Пример #18
0
 public static TimeStringFormatter Define(string prefix, TimeStringFormatter.Qualifier qualifier, string suffix, string lessThanASecond)
 {
     return TimeStringFormatter.Define(TimeStringFormatter.Define(prefix, qualifier, suffix), lessThanASecond);
 }