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(); }
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()))); }
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); }
/// <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); }