public void Test_CheckCreatedCriteria()
        {
            var inputs = new List <UserItem>();

            for (int i = 0; i < 12; i++)
            {
                var item = new UserItem(null, "test" + i, null, "TestUser" + i, null, null, null, null, null, null, null);
                item.SetCreated(new DateTimeOffset(2018, i + 1, 1, 1, 1, 1, TimeSpan.Zero));
                inputs.Add(item);
            }
            var result = new List <UserItem>();

            // StartCreated != null && EndCreated != null
            var query = new UserQueryInput
            {
                StartCreated = new DateTimeOffset(2018, 3, 1, 1, 1, 1, TimeSpan.Zero),
                EndCreated   = new DateTimeOffset(2018, 8, 1, 1, 1, 1, TimeSpan.Zero)
            };

            result = new List <UserItem>();
            foreach (var item in inputs)
            {
                if (query.CheckCriteria(item))
                {
                    result.Add(item);
                }
            }
            Assert.AreEqual(6, result.Count);

            // StartCreated = null
            query = new UserQueryInput
            {
                StartCreated = null,
                EndCreated   = new DateTimeOffset(2018, 8, 1, 1, 1, 1, TimeSpan.Zero)
            };
            result = new List <UserItem>();
            foreach (var item in inputs)
            {
                if (query.CheckCriteria(item))
                {
                    result.Add(item);
                }
            }
            Assert.AreEqual(8, result.Count);

            // EndCreated = null

            result = new List <UserItem>();
            query  = new UserQueryInput
            {
                StartCreated = new DateTimeOffset(2018, 8, 1, 1, 1, 1, TimeSpan.Zero),
                EndCreated   = null
            };
            foreach (var item in inputs)
            {
                if (query.CheckCriteria(item))
                {
                    result.Add(item);
                }
            }
            Assert.AreEqual(5, result.Count);

            // StartCreated = null and EndCreated = null
            query = new UserQueryInput
            {
                StartCreated = null,
                EndCreated   = null
            };
            result = new List <UserItem>();
            foreach (var item in inputs)
            {
                if (query.CheckCriteria(item))
                {
                    result.Add(item);
                }
            }
            Assert.AreEqual(12, result.Count);
        }