public void IfGtHelper_renders_expected_result_when_greater()
        {
            var one = new Comparable {Thing = "b"};
            var two = new Comparable {Thing = "a"};

            var result = Render.StringToString("{{#if_gt one compare=two}}greater{{/if_gt}}", new {one, two});

            result.Should().Be("greater");
        }
        public void IfLtHelper_renders_expected_result_when_less()
        {
            var one = new Comparable { Thing = "a" };
            var two = new Comparable { Thing = "b" };

            var result = Render.StringToString("{{#if_lt one compare=two}}less{{/if_lt}}", new { one, two });

            result.Should().Be("less");
        }
        public void IfLtEqHelper_renders_inverse_when_not_less()
        {
            var one = new Comparable { Thing = "a" };
            var two = new Comparable { Thing = "b" };

            var result = Render.StringToString("{{#if_lteq one compare=two}}less{{else}}less{{/if_lteq}}",
                                               new { one, two });

            result.Should().Be("less");
        }
        public void IfLtEqHelper_throws_when_not_comparable()
        {
            var one = new Comparable { Thing = "a" };
            var two = new Incomparable { Thing = "b" };

            Action action =
                () =>
                Render.StringToString("{{#if_lteq one compare=two}}less{{else}}less{{/if_lteq}}", new { one, two });

            action.ShouldThrow<InvalidOperationException>().WithMessage(
                "The objects being compared must implement IComparable.");
        }
        public void UnlessLtEqHelper_renders_expected_result_when_not_less()
        {
            var one = new Comparable { Thing = "b" };
            var two = new Comparable { Thing = "a" };

            var result = Render.StringToString("{{#unless_lteq one compare=two}}less{{/unless_lteq}}", new { one, two });

            result.Should().Be("less");
        }
        public void UnlessGtHelper_renders_inverse_when_not_greater()
        {
            var one = new Comparable {Thing = "a"};
            var two = new Comparable {Thing = "b"};

            var result = Render.StringToString("{{#unless_gt one compare=two}}less{{else}}greater{{/unless_gt}}",
                                               new {one, two});

            result.Should().Be("less");
        }
        public void UnlessGtHelper_renders_expected_result_when_greater()
        {
            var one = new Comparable {Thing = "b"};
            var two = new Comparable {Thing = "a"};

            var result = Render.StringToString("{{#unless_gt one compare=two}}less{{/unless_gt}}", new {one, two});

            result.Should().BeEmpty();
        }