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 })); }
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)); }