CreateTabDefinition() public static method

public static CreateTabDefinition ( Tab tab ) : TabDefinition
tab Tab
return TabDefinition
        public void GivenExistingTabThatShouldBeUpdated_UpdateTabDefinitions_UpdatesTab()
        {
            MockRepository       fakes = new MockRepository();
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.PartialMock(fakes);
            List <Tab>           tabs = new List <Tab>();
            Tab existingTab           = new TestTab();

            tabs.Add(existingTab);
            tabDefinitionUpdater.Stub(updater => updater.UpdateTabDefinition(Arg <TabDefinition> .Is.Anything, Arg <Tab> .Is.Anything));
            TabDefinitionRepository fakeTabDefinitionRepository = fakes.Stub <TabDefinitionRepository>();

            tabDefinitionUpdater.TabDefinitionRepository = fakeTabDefinitionRepository;
            TabDefinition existingTabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(existingTab);

            tabDefinitionUpdater.TabDefinitionRepository.Stub(factory => factory.GetTabDefinition(existingTab.Name)).Return(existingTabDefinition);
            tabDefinitionUpdater.TabDefinitionRepository.Stub(factory => factory.SaveTabDefinition(Arg <TabDefinition> .Is.Anything));
            tabDefinitionUpdater.TabDefinitionRepository.Replay();
            tabDefinitionUpdater.Stub(updater => updater.TabDefinitionShouldBeUpdated(existingTabDefinition, existingTab)).Return(true);
            tabDefinitionUpdater.Replay();

            tabDefinitionUpdater.UpdateTabDefinitions(tabs);

            tabDefinitionUpdater.AssertWasCalled(updater => updater.UpdateTabDefinition(existingTabDefinition, existingTab));
            tabDefinitionUpdater.TabDefinitionRepository.AssertWasCalled(factory => factory.SaveTabDefinition(existingTabDefinition));
        }
        public void GivenTabDefinitionWithAllValuesEqualToTab_TabDefinitionShouldBeUpdated_ReturnsFalse()
        {
            Tab                  tab                  = new TestTab();
            TabDefinition        tabDefinition        = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(tab);
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create();

            bool shouldBeUpdated = tabDefinitionUpdater.TabDefinitionShouldBeUpdated(tabDefinition, tab);

            Assert.False(shouldBeUpdated);
        }
        public void GivenTab_UpdateTabDefinition_UpdatesTabDefinitionsSortIndex()
        {
            Tab           tab           = new TestTab();
            TabDefinition tabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(tab);

            tabDefinition.SortIndex = tab.SortIndex + 1;
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create();

            tabDefinitionUpdater.UpdateTabDefinition(tabDefinition, tab);

            Assert.Equal <int>(tab.SortIndex, tabDefinition.SortIndex);
        }
        public void GivenTab_UpdateTabDefinition_UpdatesTabDefinitionsRequiredAccess()
        {
            Tab           tab           = new TestTab();
            TabDefinition tabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(tab);

            tabDefinition.RequiredAccess = tab.RequiredAccess + 1;
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create();

            tabDefinitionUpdater.UpdateTabDefinition(tabDefinition, tab);

            Assert.Equal <AccessLevel>(tab.RequiredAccess, tabDefinition.RequiredAccess);
        }
        public void GivenTab_UpdateTabDefinition_UpdatesTabDefinitionsName()
        {
            Tab           tab           = new TestTab();
            TabDefinition tabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(tab);

            tabDefinition.Name = TestValueUtility.CreateRandomString();
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create();

            tabDefinitionUpdater.UpdateTabDefinition(tabDefinition, tab);

            Assert.Equal <string>(tab.Name, tabDefinition.Name);
        }
        public void GivenTabDefinitionWithDifferentSortIndex_TabDefinitionShouldBeUpdated_ReturnsTrue()
        {
            Tab           tab           = new TestTab();
            TabDefinition tabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(tab);

            tabDefinition.SortIndex++;
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create();

            bool shouldBeUpdated = tabDefinitionUpdater.TabDefinitionShouldBeUpdated(tabDefinition, tab);

            Assert.True(shouldBeUpdated);
        }
        public void GivenTabDefinitionWithDifferentName_TabDefinitionShouldBeUpdated_ReturnsTrue()
        {
            Tab           tab           = new TestTab();
            TabDefinition tabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(tab);

            tabDefinition.Name = TestValueUtility.CreateRandomString();
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create();

            bool shouldBeUpdated = tabDefinitionUpdater.TabDefinitionShouldBeUpdated(tabDefinition, tab);

            Assert.True(shouldBeUpdated);
        }
        public void GivenExistingTab_UpdateTabDefinitions_DoesNotSaveTab()
        {
            MockRepository       fakes = new MockRepository();
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create();
            List <Tab>           tabs = new List <Tab>();
            Tab existingTab           = new TestTab();

            tabs.Add(existingTab);
            TabDefinitionRepository fakeTabDefinitionRepository = fakes.Stub <TabDefinitionRepository>();

            tabDefinitionUpdater.TabDefinitionRepository = fakeTabDefinitionRepository;
            TabDefinition existingTabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(existingTab);

            tabDefinitionUpdater.TabDefinitionRepository.Stub(factory => factory.GetTabDefinition(existingTab.Name)).Return(existingTabDefinition);
            tabDefinitionUpdater.TabDefinitionRepository.Replay();

            tabDefinitionUpdater.UpdateTabDefinitions(tabs);

            tabDefinitionUpdater.TabDefinitionRepository.AssertWasNotCalled(factory => factory.SaveTabDefinition(Arg <TabDefinition> .Is.Anything));
        }