Example #1
0
        public void Test06WithComparer(double[] data, double value)
        {
            // comparer version
            var list     = (IList <double>)data;
            var expected = Range.Create(list.LowerBound(value), list.UpperBound(value));

            Assert.That(list.EqualRange(value, Comparer <double> .Default.Compare), Is.EqualTo(expected));
        }
Example #2
0
        public void Test08WithoutParams(double[] data, double value)
        {
            var list     = (IList <double>)data;
            var expected = Range.Create(list.LowerBound(value), list.UpperBound(value));

            // comparer version
            Assert.That(list.EqualRange(value, Comparer <double> .Default.Compare), Is.EqualTo(expected));
            // IComparable version
            var list2 = list.Cast <IComparable <double> >().ToList();

            Assert.That(list2.EqualRange(value), Is.EqualTo(expected));
            // specific version
            Assert.That(list.EqualRange(value), Is.EqualTo(expected));
        }
        public static void TestDateTimeOffsetExtensions()
        {
            var d = DateTime.Today.FirstDayOfMonth().AddHours(12).ToOffset();

            AreEqual(d.NextDay().PrevDay(), d);
            AreEqual(d.NextMonth().PrevMonth(), d);
            AreEqual(d.NextYear().PrevYear(), d);
            AreEqual(d.LastDayOfMonth().Day, d.DaysInMonth());
            AreEqual(d.WithMonth(1).WithDay(1), d.FirstDayOfYear().AddHours(12));
            AreEqual(d.WithYearAndMonth(2000, 1).WithDay(1), new DateTime(2000, 1, 1).AddHours(12).ToOffset());
            AreEqual(d.WithMonthAndDay(1, 1), d.FirstDayOfYear().AddHours(12));

            AreEqual(d.GetMonthRange().CountOfDays(), d.DaysInMonth());

            AreEqual(Range.Create(d, d).DifferenceInDays(), 0);
            AreEqual(Range.Create(d, d).CountOfDays(), 1);

            AreEqual(Range.Create(d, d).DifferenceInMonths(), 0);
            AreEqual(Range.Create(d, d).CountOfMonths(), 1);

            AreEqual(d.GetYearRange().CountOfMonths(), 12);
            AreEqual(d.GetYearRange().CountOfDays(), d.DaysInYear());
        }
Example #4
0
        public void Test09Randomized()
        {
            var       list     = new List <double>();
            var       rnd      = new Random();
            const int maxValue = 10000;

            for (var i = 0; i < maxValue; ++i)
            {
                var repeats = rnd.Next(1, 11);
                list.AddRange(Enumerable.Repeat(i, repeats).Select(_ => _ * 0.01));
            }
            var list2 = list.Cast <IComparable <double> >().ToList();

            for (var j = -10.0; j < maxValue / 100.0 + 10; ++j)
            {
                var expected = Range.Create(list.LowerBound(j), list.UpperBound(j));
                // comparer version
                Assert.That(list.EqualRange(j, Comparer <double> .Default.Compare), Is.EqualTo(expected));
                // IComparable version
                Assert.That(list2.EqualRange(j), Is.EqualTo(expected));
                // specific version
                Assert.That(list.EqualRange(j), Is.EqualTo(expected));
            }
        }