Пример #1
0
        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()));
        }