static IntervalTimePerTimeValuesAttribute()
        {
            var values = new List<IQuantity>();

            var times = new[]
            {
                //TODO: ... however, us, ms, s, min, hr, are not unreasonable to expect ...
                T.Microsecond,
                T.Millisecond,
                T.Second,
                T.Minute,
                T.Hour,
                ////TODO: we do not care about Days or Weeks for purposes of these tests...
                //T.Day,
                //T.Week,
            };

            // TODO: TBD: Avoid scaling too absurdly: may want to be more selective than this...
            var length = times.Length - 2;

            // TODO: TBD: Could also vary the value itself, but this will do for starters...
            const double value = 1e2;

            var first = times.Take(length).ToArray();
            var second = times.Reverse().Take(length).ToArray();

            values.AddRange(from x in first from y in second select new Quantity(value, x, y.Invert()));
            values.AddRange(from y in first from x in second select new Quantity(value, x, y.Invert()));

            Values = values.OfType<object>().ToArray();
        }
Ejemplo n.º 2
0
        public void Execute()
        {
            IEnumerable<int> numbers = new[] {1, 2, 3, 4, 5};
            IEnumerable<Person> persons = new List<Person>
            {
                new Person {Id = 1001, Name = "gsf_zero1"},
                new Person {Id = 1000, Name = "gsf_zero2"},
                new Person {Id = 111, Name = "gsf_zero3"},
                new Person {Id = 9889, Name = "gsf_zero4"},
                new Person {Id = 9889, Name = "gsf_zero5"},
                new Person {Id = 100, Name = "gsf_zero6"}
            };

            //
            // Reverse拡張メソッドは、文字通りソースシーケンスを逆順に変換するメソッドである。
            // このメソッドは、そのままソースシーケンスを逆順に変換するだけである。
            //
            // 尚、本メソッドは、他のLINQ演算子と同様に遅延実行される。
            //
            var reverseNumbers = numbers.Reverse();
            var reversePersons = persons.Reverse();

            Output.WriteLine(string.Join(",", reverseNumbers.Select(element => element.ToString())));
            Output.WriteLine(string.Join(",", reversePersons.Select(element => element.ToString())));
        }
Ejemplo n.º 3
0
        public void SortedSet_ShouldStoreTextRangesByPosition_WhenPositionComparerIsUsed()
        {
            // Given
            var text = "one,two,three,four";
            var textRanges = new[]
            {
                new TextRange(0, 3),
                new TextRange(5, 7),
                new TextRange(9, 13),
                new TextRange(15, 18),
            };

            var underTest = new SortedList<TextRange, TextRange>(TextRange.PositionComparer);

            // When
            foreach (var textRange in textRanges.Reverse())
            {
                underTest.Add(textRange, textRange);
            }

            // Then
            var actual = underTest.Values.SequenceEqual(textRanges);
            Assert.That(actual, Is.True);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Returns the pretty printed value
        /// </summary>
        /// <param name="value">The sum to pretty print</param>
        /// <returns></returns>
        public string FormatValue(decimal value)
        {
            var nfi = new NumberFormatInfo
            {
                NumberDecimalSeparator = DecimalSeparator,
                NumberGroupSeparator = ThousandsSeparator,
                NumberDecimalDigits = DecimalDigits
            };

            var v = value.ToString("N", nfi);
            var space = SpaceBetweenAmountAndSymbol ? " " : "";

            IEnumerable<string> parts = new[] { v, space, Symbol };

            if (SymbolOnLeft)
            {
                parts = parts.Reverse();
            }

            return string.Join("", parts);
        }