public void IsVisible_Test()
        {
            const int roleId = 123;

            var model = new NavigationItemEditMock(123);
            var parentMock = Mock.Create<INavigationGroupViewModel>();
            var target = new NavigationItemViewModel();

            target.Initialize(model, parentMock);
            target.SelectedRoleId = null;

            Assert.IsFalse(target.IsVisible);

            target.IsVisible = true;

            Assert.IsFalse(target.IsVisible);

            target.SelectedRoleId = roleId;

            Assert.IsFalse(target.IsVisible);

            target.IsVisible = true;

            Assert.IsTrue(target.IsVisible);
            Assert.IsTrue(model.GetCanView(roleId));

            target.SelectedRoleId = null;
            
            Assert.IsFalse(target.IsVisible);

            target.SelectedRoleId = roleId;
            target.IsVisible = false;

            Assert.IsFalse(target.IsVisible);
            Assert.IsFalse(model.GetCanView(roleId));
        }