public override ToolStripMenuItem GetMenuItem(PluginMenuType type)
        {
            if (_menuItemProvider != null)
            {
                return(_menuItemProvider.GetMenuItem(type));
            }

            return(null);
        }
        public void MenuItemProvider_ShouldReturnNullForUnknownEnumValue()
        {
            _plugin.Initialize(_host.Object);

            var sut = new MenuItemProvider(_plugin, _host.Object);

            var mainMenuItem = sut.GetMenuItem((PluginMenuType)4);

            mainMenuItem.Should().BeNull();
        }
        public void MenuItemProvider_ShouldReturnNullForGroupMenuEntries()
        {
            _plugin.Initialize(_host.Object);

            var sut = new MenuItemProvider(_plugin, _host.Object);

            var mainMenuItem = sut.GetMenuItem(PluginMenuType.Group);

            mainMenuItem.Should().BeNull();
        }
        public void MenuItemProvider_ShouldReturnTheCorrectEntryMenuEntries()
        {
            _plugin.Initialize(_host.Object);

            var sut = new MenuItemProvider(_plugin, _host.Object);

            var mainMenuItem = sut.GetMenuItem(PluginMenuType.Entry);

            mainMenuItem.Should().NotBeNull();
            mainMenuItem.HasDropDownItems.Should().BeTrue();
            mainMenuItem.DropDownItems.Should().HaveCount(3);
        }
        public void MenuItemProvider_ShouldReturnTheCorrectTrayMenuEntries()
        {
            _plugin.Initialize(_host.Object);

            var sut = new MenuItemProvider(_plugin, _host.Object);

            var trayMenuItem = sut.GetMenuItem(PluginMenuType.Tray);

            trayMenuItem.Should().NotBeNull();
            trayMenuItem.HasDropDownItems.Should().BeTrue();
            trayMenuItem.DropDownItems.Should().HaveCount(0, "because, the entries are added at opening of the menu.");
        }