private IEnumerable <ToolStripItemWithKey> CreateGitRefItems() { if (!Implements <IGitRefActions>()) { yield break; } yield return(_menuItemFactory.CreateMenuItem <ToolStripMenuItem, TNode>( node => (node as IGitRefActions).Checkout(), Strings.Checkout, GetTooltip(MenuItemKey.GitRefCheckout), Properties.Images.BranchCheckout) .WithKey(MenuItemKey.GitRefCheckout)); yield return(_menuItemFactory.CreateMenuItem <ToolStripMenuItem, TNode>( node => (node as IGitRefActions).Merge(), Strings.Merge, GetTooltip(MenuItemKey.GitRefMerge), Properties.Images.Merge) .WithKey(MenuItemKey.GitRefMerge)); yield return(_menuItemFactory.CreateMenuItem <ToolStripMenuItem, TNode>( node => (node as IGitRefActions).Rebase(), Strings.Rebase, GetTooltip(MenuItemKey.GitRefRebase), Properties.Images.Rebase) .WithKey(MenuItemKey.GitRefRebase)); yield return(_menuItemFactory.CreateMenuItem <ToolStripMenuItem, TNode>( node => (node as IGitRefActions).CreateBranch(), Strings.CreateBranch, GetTooltip(MenuItemKey.GitRefCreateBranch), Properties.Images.Branch.AdaptLightness()) .WithKey(MenuItemKey.GitRefCreateBranch)); yield return(_menuItemFactory.CreateMenuItem <ToolStripMenuItem, TNode>( node => (node as IGitRefActions).Reset(), Strings.Reset, GetTooltip(MenuItemKey.GitRefReset), Properties.Images.ResetCurrentBranchToHere) .WithKey(MenuItemKey.GitRefReset)); yield return(new ToolStripSeparator().WithKey(MenuItemKey.GitRefActionsSeparator)); }
public void Setup() { _factory = Substitute.For <IMenuItemFactory>(); _factory.CreateMenuItem <ToolStripMenuItem, TestBranchNode>( Arg.Do <Action <TestBranchNode> >(arg => _factoryQueue.Peek().Click += (sender, e) => arg(_testNode)), Arg.Any <TranslationString>(), Arg.Any <TranslationString>(), Arg.Any <Bitmap>()) .Returns(_ => _factoryQueue.Dequeue()); Enumerable.Range(0, expectedMenuItems).ForEach(_ => _factoryQueue.Enqueue(new ToolStripMenuItem())); }