public void TestPropertyBuilderValidator()
        {
            var validator = ValidatorBuilder.Builder <TestObject>()
                            .Append("Random", new EqualityValidator <TestObject, int>(o => o.Item2, o => o.Item4, true))
                            .BeginGroup("Item1")
                            .Append(o => o.Item1, NotWhitespaceString.NotNullInstance, new StringLength(i => i < 5))
                            .Append(new EqualityValidator <TestObject>(new TestObject(), true))
                            .Append(new EqualityValidator <TestObject, int>(o => o.Item2, o => o.Item4, true))
                            .EndGroup()
                            .Append("Item2", o => o.Item2, new RangeValidator <int>(0, 2))
                            .Append("Item3", o => o.Item3, new CollectionValidator <decimal?>(new RangeValidator <decimal?>(0, 2, false)))
                            .Append("Item4", o => o.Item4, new EqualityValidator <int>(6, true))
                            .Build();
            var result = validator.Validate("Test", new TestObject()
            {
                Item1 = "HELLO ME", Item2 = -1, Item3 = new List <decimal?>()
                {
                    1m, 2.5m, null
                }
            });

            Console.WriteLine(result);
            Assert.AreEqual(false, result.Valid);
        }