public void NextDateTime_FromTodayUntilDateTimeMaxValue()
        {
            var randomGenerator = new PseudoRandomizer();
            var now             = DateTime.Now;
            var next            = randomGenerator.NextDateTime();

            Assert.IsTrue(next >= now);
            Assert.IsTrue(next < DateTime.MaxValue);
        }
        public void NextDateTime_FromStartDateTimeUntilEndDateTime()
        {
            var randomGenerator = new PseudoRandomizer();
            var startDateTime   = DateTime.Now.AddDays(3);
            var endDateTime     = startDateTime.AddDays(2);
            var next            = randomGenerator.NextDateTime(startDateTime, endDateTime);

            Assert.IsTrue(next >= startDateTime, $"{next} >= startDateTime");
            Assert.IsTrue(next < endDateTime, $"{next} < endDateTime");
        }
        public void NextDateTime_FromTodayUntilSuppliedEndDateTime()
        {
            var randomGenerator = new PseudoRandomizer();
            var now             = DateTime.Now;
            var endDateTime     = now.AddDays(2);
            var next            = randomGenerator.NextDateTime(endDateTime);

            Assert.IsTrue(next >= now, $"{next} >= now");
            Assert.IsTrue(next < endDateTime, $"{next} < endDateTime");
        }
        public void NextItem_FromArrayWithItems_ExpectOccasionalHit()
        {
            var randomGenerator = new PseudoRandomizer();
            var items           = new []
            {
                "One",
                "Two"
            };

            Assert.IsTrue(items.Contains(randomGenerator.NextItem(items)));
        }
        public void NextItem_FromArrayWithItems_ExpectNonNull()
        {
            var randomGenerator = new PseudoRandomizer();

            Assert.IsNotNull(randomGenerator.NextItem(new[]
            {
                "One",
                "Two",
                "Three"
            }));
        }
        public void NextItem_FromEmptyArrayExpectNull()
        {
            var randomGenerator = new PseudoRandomizer();

            Assert.IsNull(randomGenerator.NextItem(new string[] { }));
        }
        public void NextItem_FromNullArrayExpectNull()
        {
            var randomGenerator = new PseudoRandomizer();

            Assert.IsNull(randomGenerator.NextItem <string>(null !));
        }