public void ReturnsTrueForOrWhenAllTrue()
        {
            var lops = new LogicOperatorPermissionService(FakeService());

            Assert.True(lops.HasPermission("T|Y"));
            Assert.True(lops.HasPermission("Y|T"));
            Assert.True(lops.HasPermission("Y|Y|Y"));
            Assert.True(lops.HasPermission("Y|Y|T|T"));
            Assert.True(lops.HasPermission("Y|T|Y|T"));
        }
        public void ReturnsFalseForOrWhenAllFalse()
        {
            var lops = new LogicOperatorPermissionService(FakeService());

            Assert.False(lops.HasPermission("F|N"));
            Assert.False(lops.HasPermission("N|F"));
            Assert.False(lops.HasPermission("N|N|N"));
            Assert.False(lops.HasPermission("N|N|F|F"));
            Assert.False(lops.HasPermission("N|F|N|F"));
        }
        public void ReturnsFalseForAndWhenSomeFalse()
        {
            var lops = new LogicOperatorPermissionService(FakeService());

            Assert.False(lops.HasPermission("T&F"));
            Assert.False(lops.HasPermission("Y&N"));
            Assert.False(lops.HasPermission("T&Y&N"));
            Assert.False(lops.HasPermission("T&T&F&T"));
            Assert.False(lops.HasPermission("N&Y&N&F&N&N"));
        }
        public void AndTakesPrecedenceOverOr()
        {
            var lops = new LogicOperatorPermissionService(TYPermissions());

            Assert.False(lops.HasPermission("F|T&F"));
            Assert.False(lops.HasPermission("F|F&T"));
            Assert.True(lops.HasPermission("T|F&T"));
            Assert.False(lops.HasPermission("F&T|F&T"));
            Assert.False(lops.HasPermission("T&F|F|F&T"));
            Assert.False(lops.HasPermission("T&T&T&F|F&F&F&T"));
            Assert.True(lops.HasPermission("T&T&T&F|T&T|F&F&F&T"));
        }
Exemple #5
0
        public void AndTakesPrecedenceOverOr()
        {
            var lops = new LogicOperatorPermissionService(FakeService());

            Assert.Equal(false, lops.HasPermission("F|T&F"));
            Assert.Equal(false, lops.HasPermission("F|F&T"));
            Assert.Equal(true, lops.HasPermission("T|F&T"));
            Assert.Equal(false, lops.HasPermission("F&T|F&T"));
            Assert.Equal(false, lops.HasPermission("T&F|F|F&T"));
            Assert.Equal(false, lops.HasPermission("T&T&T&F|F&F&F&T"));
            Assert.Equal(true, lops.HasPermission("T&T&T&F|T&T|F&F&F&T"));
        }
        public void Evaluates_Expression_As_Expected(string permission, bool expected)
        {
            var lops   = new LogicOperatorPermissionService(new MockPermissions(p => p != null && p.Contains("1", System.StringComparison.CurrentCulture)));
            var actual = lops.HasPermission(permission);

            if (expected)
            {
                Assert.True(actual);
            }
            else
            {
                Assert.False(actual);
            }
        }
Exemple #7
0
        public void Evaluates_Expression_As_Expected(string permission, bool expected)
        {
            var lops   = new LogicOperatorPermissionService(new MockPermissions(p => p != null && p.IndexOf("1") >= 0));
            var actual = lops.HasPermission(permission);

            if (expected)
            {
                Assert.True(actual);
            }
            else
            {
                Assert.False(actual);
            }
        }
Exemple #8
0
        public void Evaluate_Permission(string permission, bool expected)
        {
            var lops   = new LogicOperatorPermissionService(new OneZeroPermissionService());
            var actual = lops.HasPermission(permission);

            if (expected)
            {
                Assert.True(actual);
            }
            else
            {
                Assert.False(actual);
            }
        }
        public void ShouldDelegateSimplePermissionsToUnderlyingOne()
        {
            var expected = false;
            var ps       = new MockPermissions(p => expected);

            var lops = new LogicOperatorPermissionService(ps);

            Assert.False(lops.HasPermission(""));
            Assert.False(lops.HasPermission("A"));
            Assert.False(lops.HasPermission("B:C"));

            expected = true;
            Assert.True(lops.HasPermission(""));
            Assert.True(lops.HasPermission("A"));
            Assert.True(lops.HasPermission("B:C"));
        }
Exemple #10
0
        public void ShouldDelegateSimplePermissionsToUnderlyingOne()
        {
            var ps       = A.Fake <IPermissionService>();
            var expected = false;

            A.CallTo(() => ps.HasPermission(A <string> .Ignored))
            .ReturnsLazily(s => expected);

            var lops = new LogicOperatorPermissionService(ps);

            Assert.False(lops.HasPermission(""));
            Assert.False(lops.HasPermission("A"));
            Assert.False(lops.HasPermission("B:C"));

            expected = true;
            Assert.True(lops.HasPermission(""));
            Assert.True(lops.HasPermission("A"));
            Assert.True(lops.HasPermission("B:C"));
        }