public void TestUnlessFuncWithNullValueNoDefaultAndTrue()
        {
            const string C_INPUT    = null;
            const string C_EXPECTED = default(string);

            Assert.AreEqual(C_EXPECTED, C_INPUT.Unless(_ => true, _ => _.Replace("World", "John")));
        }
        public void TestUnlessActionWithNonNullValueAndFalse()
        {
            const string C_INPUT    = "Hello World";
            const string C_EXPECTED = C_INPUT;

            Assert.AreEqual(C_EXPECTED, C_INPUT.Unless(_ => false, _ => { }));
        }
        public void TestUnlessFuncWithNonNullValueNoDefaultAndFalse()
        {
            const string C_INPUT    = "Hello World";
            const string C_EXPECTED = "Hello John";

            Assert.AreEqual(C_EXPECTED, C_INPUT.Unless(_ => false, _ => _.Replace("World", "John")));
        }
        public void TestUnlessActionWithNullValueAndTrue()
        {
            const string C_INPUT    = null;
            const string C_EXPECTED = default(string);

            Assert.AreEqual(C_EXPECTED, C_INPUT.Unless(_ => true, _ => { }));
        }
        public void TestUnlessFuncWithNonNullValueWithDefaultAndTrue()
        {
            const string C_INPUT    = "Hello World";
            const string C_DEFAULT  = "Wayne's World";
            const string C_EXPECTED = C_DEFAULT;

            Assert.AreEqual(C_EXPECTED, C_INPUT.Unless(_ => true, _ => _.Replace("World", "John"), C_DEFAULT));
        }