Example #1
0
        public void ExampleUsageWithAlgorithm(MyDomain.PageEnum page, bool isLoggedOn, bool isAdmin, string inData)
        {
            //  #   Arragen.
            var sut = new MyDomain();

            //  #   Act.
            var res = sut.Authorise(page, isLoggedOn, isAdmin);

            //  #   Assert.
            // The assertion is sieved through an algorithm working the same way as production code
            // preferably without being a copy.
            if (page == MyDomain.PageEnum.LandingPage)
            {
                res.Should().BeTrue(inData);
            }
            else if (isLoggedOn && page == MyDomain.PageEnum.AdminPage)
            {
                res.Should().Be(isAdmin, inData);
            }
            else if (page == MyDomain.PageEnum.ContentPage)
            {
                res.Should().Be(isLoggedOn, inData);
            }
            else
            {
                res.Should().BeFalse(inData);
            }
        }
Example #2
0
        public void ExampleUsageWithData(MyDomain.PageEnum page, bool isLoggedOn, bool isAdmin, string inDataString)
        {
            //  #   Arrange.
            var sut = new MyDomain();

            //  #   Act.
            var res = sut.Authorise(page, isLoggedOn, isAdmin);

            //  #   Assert.

            var isMatch =
                AllValidData()
                .Any(data => data.IsMatch(page, isLoggedOn, isAdmin));

            if (isMatch)
            {
                res.Should().BeTrue(inDataString);
            }
            else
            {
                res.Should().BeFalse(inDataString);
            }
        }