public async Task SetUp()
        {
            var project = Substitute.For <IProject>();

            project.Classes.Returns(Observable.Return(new IElement[] { }));
            var context = Substitute.For <IContext>();

            _currentSelection = new BehaviorSubject <IElement>(Element.Empty);
            _buttonClicked    = false;
            context.CurrentSelection.Returns(_currentSelection.Switch());
            _model = new ExtractClassButtonViewModel(project, context,
                                                     dialogViewModel =>
            {
                _buttonClicked      = true;
                _resultingViewModel = dialogViewModel;
            }, new Shell(), Substitute.For <IClassExtractor>());
            _root = CreateTree("<App><JavaScript /><Include /><Panel /><Circle ux:Class=\"MyClass\" /></App>");

            _classElement = await GetTreeChild("Circle");

            _instanceElement = await GetTreeChild("Panel");

            _javaScriptElement = await GetTreeChild("JavaScript");

            _includeElement = await GetTreeChild("Include");

            project.Classes.Returns(Observable.Return(new[] { _classElement }));
        }
Exemple #2
0
        public static IControl CreateButton(IExtractClassButtonViewModel model)
        {
            var command      = model.Command;
            var hoverColor   = Theme.Purple;
            var mouseEntered = Command.Enabled(model.HoverEnter);
            var mouseExited  = Command.Enabled(model.HoverExit);

            return(CreateButton(command, hoverColor, mouseEntered, mouseExited));
        }