public void NoPredicatesShouldReturnTarget()
        {
            var target = new object();
            var guard = new Guard<object>();

            Assert.AreEqual(target, guard.Evaluate(target));
        }
        public void NullTargetShouldThrow()
        {
            var guard = new Guard<object>();
            guard.AddPredicate(o => o != null, o => new ArgumentNullException());

            guard.Evaluate(null);
        }
        public void SuccessfulEvaluationShouldReturnTarget()
        {
            var target = new object();
            var guard = new Guard<object>();
            guard.AddPredicate(o => o != null, o => new ArgumentNullException());

            Assert.AreEqual(target, guard.Evaluate(target));
        }