コード例 #1
0
        public void ShouldCompareByTimeAndValue()
        {
            // given
            var list = new List <TestObj>
            {
                new TestObj {
                    Value = 10, Time = new DateTime(2015, 9, 15, 10, 0, 0)
                },
                new TestObj {
                    Value = 7, Time = new DateTime(2015, 9, 15, 11, 0, 0)
                },
                new TestObj {
                    Value = 6, Time = new DateTime(2015, 9, 15, 11, 0, 0)
                },
                new TestObj {
                    Value = 8, Time = new DateTime(2015, 9, 15, 8, 0, 0)
                },
                new TestObj {
                    Value = 3, Time = new DateTime(2015, 9, 15, 15, 0, 0)
                }
            };
            var comparer = MultiComparer.Of(
                new TimeComparer(),
                new ValueComparer());

            // when
            var sorted = list.SortBy(comparer);

            // then
            Check.That(sorted).ContainsExactly(
                new TestObj {
                Value = 8, Time = new DateTime(2015, 9, 15, 8, 0, 0)
            },
                new TestObj {
                Value = 10, Time = new DateTime(2015, 9, 15, 10, 0, 0)
            },
                new TestObj {
                Value = 6, Time = new DateTime(2015, 9, 15, 11, 0, 0)
            },
                new TestObj {
                Value = 7, Time = new DateTime(2015, 9, 15, 11, 0, 0)
            },
                new TestObj {
                Value = 3, Time = new DateTime(2015, 9, 15, 15, 0, 0)
            });
        }
コード例 #2
0
        public void ShouldIgnoreComparationWhenNoComparersSpecified()
        {
            // given
            var list = new List <TestObj>
            {
                new TestObj {
                    Value = 10, Time = new DateTime(2015, 9, 15, 10, 0, 0)
                },
                new TestObj {
                    Value = 7, Time = new DateTime(2015, 9, 15, 11, 0, 0)
                },
                new TestObj {
                    Value = 6, Time = new DateTime(2015, 9, 15, 11, 0, 0)
                },
                new TestObj {
                    Value = 8, Time = new DateTime(2015, 9, 15, 8, 0, 0)
                },
                new TestObj {
                    Value = 3, Time = new DateTime(2015, 9, 15, 15, 0, 0)
                }
            };
            var comparer = MultiComparer.Of <TestObj>();

            // when
            var sorted = list.SortBy(comparer);

            // then
            Check.That(sorted).ContainsExactly(
                new TestObj {
                Value = 10, Time = new DateTime(2015, 9, 15, 10, 0, 0)
            },
                new TestObj {
                Value = 7, Time = new DateTime(2015, 9, 15, 11, 0, 0)
            },
                new TestObj {
                Value = 6, Time = new DateTime(2015, 9, 15, 11, 0, 0)
            },
                new TestObj {
                Value = 8, Time = new DateTime(2015, 9, 15, 8, 0, 0)
            },
                new TestObj {
                Value = 3, Time = new DateTime(2015, 9, 15, 15, 0, 0)
            });
        }