public void WhenContainerIsNotAutomationContainer_ThenAutomationMenusIsEmpty()
        {
            var container = new Mock <IProductElement>();
            var ctx       = new SolutionBuilderContext
            {
                ShowProperties = () => { },
            };

            var viewModel = new TestProductElementViewModel <IAbstractElement>(container.Object, ctx);

            Assert.False(viewModel.MenuOptions.OfType <AutomationMenuOptionViewModel>().Any());
        }
            public void Initialize()
            {
                this.element = new Mock <IProductElement>();
                this.element.As <IProductElement>().Setup(x => x.Info).Returns(Mocks.Of <IPatternElementInfo>().First());
                this.element.As <IAbstractElement>().Setup(e => e.Elements).Returns(Enumerable.Empty <IAbstractElement>());

                this.context = new SolutionBuilderContext
                {
                    PatternManager     = Mock.Of <IPatternManager>(),
                    ShowProperties     = () => { },
                    UserMessageService = Mock.Of <IUserMessageService>(ums => ums.PromptWarning(It.IsAny <string>()) == true),
                };

                this.target = new TestProductElementViewModel <IAbstractElement>(this.element.Object, this.context);
            }
            public void Initialize()
            {
                this.element = new Mock <IProductElement>();
                this.element.As <IProductElement>().Setup(x => x.Info).Returns(Mocks.Of <IPatternElementInfo>().First());

                this.automation = new Mock <IAutomationExtension>();
                this.automation.As <IAutomationMenuCommand>().Setup(m => m.Text).Returns("Foo");
                this.automation.As <INotifyPropertyChanged>();
                this.automation.As <ICommandStatus>();

                this.element.Setup(x => x.AutomationExtensions).Returns(new[] { this.automation.Object });

                this.context = new SolutionBuilderContext
                {
                    PatternManager     = Mock.Of <IPatternManager>(),
                    ShowProperties     = () => { },
                    UserMessageService = Mock.Of <IUserMessageService>(ums => ums.PromptWarning(It.IsAny <string>()) == true),
                };

                this.target = new TestProductElementViewModel <IAbstractElement>(this.element.Object, this.context);
            }