public void ModifiedElementMatches() { var element = new NamedElement { Name = "new item" }; var vm = new TestElementViewModel(new Mock <IAsyncServiceProvider> ().Object, new Mock <ISyncService>().Object, element); Assert.That(vm.Element, Is.EqualTo(element)); Assert.That(vm.ModifiedElement, Is.EqualTo(element)); }
public void SaveEnabledOnNewItem() { var sync = new Mock <ISyncService> (); sync.Setup(s => s.SaveElementAsync(It.IsAny <NamedElement> ())) .Returns <NamedElement> (ne => Task.FromResult(ne)); var element = new NamedElement { Name = "new item" }; var vm = new TestElementViewModel(new Mock <IAsyncServiceProvider> ().Object, sync.Object, element); Assert.That(vm.SaveCommand.CanExecute(null), Is.True); }
public void Initialize() { this.element = new Mock <IAbstractElement>(); 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 TestElementViewModel <IAbstractElement>(this.element.Object, this.context); }
public void Save() { var sync = new Mock <ISyncService> (); sync.Setup(s => s.SaveElementAsync(It.IsAny <NamedElement> ())) .Returns <NamedElement> (ne => Task.FromResult(ne)); var element = new NamedElement { Id = Guid.NewGuid().ToString(), Name = "existing item" }; var vm = new TestElementViewModel(new Mock <IAsyncServiceProvider> ().Object, sync.Object, element); Assume.That(vm.Element, Is.EqualTo(vm.ModifiedElement)); vm.SetModified(vm.ModifiedElement with { Name = "new name" }); Assume.That(vm.SaveCommand.CanExecute(null), Is.True); Assume.That(vm.ResetCommand.CanExecute(null), Is.True); var propertyChanges = new List <string> (); vm.PropertyChanged += (o, e) => { propertyChanges.Add(e.PropertyName); }; bool saveCanExecuteChanged = false, resetCanExecuteChanged = false; vm.SaveCommand.CanExecuteChanged += (o, e) => saveCanExecuteChanged = true; vm.ResetCommand.CanExecuteChanged += (o, e) => resetCanExecuteChanged = true; vm.SaveCommand.Execute(null); Assert.That(saveCanExecuteChanged, Is.True); Assert.That(vm.SaveCommand.CanExecute(null), Is.False); Assert.That(resetCanExecuteChanged, Is.True); Assume.That(vm.ResetCommand.CanExecute(null), Is.False); Assert.That(propertyChanges, Contains.Item(nameof(TestElementViewModel.Element))); }