public void Enumerate_Test3()
        {
            // Arrange
            DateTimeRange dateTimeRange = new DateTimeRange(new DateTime(2020, 01, 01), new DateTime(2021, 02, 01));

            // Act
            var result = dateTimeRange.Enumerate(DateSpan.Month, false, true).ToArray();

            // Assert
            Assert.That(result.Length == 13);
        }
        public void Enumerate_Test2()
        {
            // Arrange
            DateTimeRange dateTimeRange = new DateTimeRange(DateTime.Now.Date, DateTime.Now.Date.AddDays(2));
            TimeSpan      step          = new TimeSpan(1, 0, 0, 0);

            // Act
            var result = dateTimeRange.Enumerate(step).ToArray();

            // Assert
            Assert.That(result.Length == 3);
            Assert.That(result.SequenceEqual(new DateTime[] { DateTime.Now.Date, DateTime.Now.Date.AddDays(1), DateTime.Now.Date.AddDays(2) }));
        }
        public void Enumerate_Test()
        {
            // Arrange
            DateTimeRange dateTimeRange = new DateTimeRange(DateTime.Now.Date, DateTime.Now.Date.AddDays(2));
            DateSpan      dateSpan      = DateSpan.Day;

            // Act
            var result = dateTimeRange.Enumerate(dateSpan, excludeStart: true, excludeEnd: true).ToArray();

            // Assert
            Assert.That(result.Length == 3);
            Assert.That(result.SequenceEqual(new DateTime[] { DateTime.Now.Date, DateTime.Now.Date.AddDays(1), DateTime.Now.Date.AddDays(2) }));
        }
Exemple #4
0
        private static void Main(string[] args)
        {
            var source = new string[] { "Hallo", "welt" };

            List <string> list    = new List <string>();
            List <string> newList = list.AddMany(source);

            var dict = new HashSet <string>();

            Ext.AddMany(dict, source);

            Dictionary <string, string> dst = new Dictionary <string, string>()
                                              .AddMany(new KeyValuePair <string, string>[]
            {
                new KeyValuePair <string, string>("a", "a"),
                new KeyValuePair <string, string>("aa", "aa"),
            });

            Console.WriteLine("Hello World!");

            var ranges = new List <DateTimeRange>
            {
                new DateTimeRange(new DateTime(2020, 01, 01), new DateTime(2020, 01, 15)),
                new DateTimeRange(new DateTime(2020, 01, 10), new DateTime(2020, 02, 01)),
                new DateTimeRange(new DateTime(2020, 02, 03), new DateTime(2020, 02, 20)),
                new DateTimeRange(new DateTime(2020, 03, 01), new DateTime(2020, 04, 01)),
            };

            var intersecting = ranges.MergeIntersecting(TimeSpan.FromDays(2));

            RefX();

            var rng = new TimeSpanRange(TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(2));

            var enumerated = rng.Enumerate(TimeSpan.FromSeconds(2)).ToList();

            var dtrange = new DateTimeRange(DateTime.Now, TimeSpan.FromDays(20));

            var en = dtrange.Enumerate(TimespanType.Day, 1).ToList();

            //var nit2Range = new[]
            //{
            //    1, 2, 3, 4, 6, 7
            //};

            //var nRange = IntegerRange.FromEnumerable(nit2Range).ToList();

            //var intRanges = new[]
            //{
            //    new IntegerRange(1,2),
            //    new IntegerRange(3,4),
            //    new IntegerRange(6,7),
            //};

            //var intIntersection = intRanges.MergeIntersecting(1);

            //var method = typeof(TimeSpan).GetMethods()
            //    .Where(x => x.IsSpecialName && x.Name == "op_Subtraction" && x.GetParameters().Select(m => m.ParameterType).SequenceEqual(new[] { typeof(TimeSpan), typeof(TimeSpan) }))
            //    .ToList();

            //PerformanceTests();

            var timeRanges = new[]
            {
                new TimeSpanRange(TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(2)),
                new TimeSpanRange(TimeSpan.FromMinutes(3), TimeSpan.FromMinutes(4)),
                new TimeSpanRange(TimeSpan.FromMinutes(6), TimeSpan.FromMinutes(7)),
            };

            var timeIntersection = timeRanges.MergeIntersecting(TimeSpan.FromMinutes(1));
        }