public void EditCommand() { Preset s = new Preset() { Name = "test settings" }; PresetsRepository sr = PresetsRepository.Default; PresetsRepositoryViewModel srvm = new PresetsRepositoryViewModel(); sr.Add(s); Assert.IsFalse(srvm.EditCommand.CanExecute(null), "Edit settings command should be disabled if nothing is selected."); srvm.ViewModels[srvm.ViewModels.Count - 1].IsSelected = true; Assert.IsTrue(srvm.EditCommand.CanExecute(null), "Edit settings command should be enabled if at least one object is selected."); bool messageSent = false; srvm.EditSettingsMessage.Sent += (object sender, MessageArgs <ViewModelMessageContent> args) => { messageSent = true; Assert.IsTrue(args.Content.ViewModel.IsViewModelOf(s), "EditSettingsMessage did not carry the correct ExportSettingsViewModel object."); }; srvm.EditCommand.Execute(null); Assert.IsTrue(messageSent, "EditSettingsMessage should have been sent but wasn't."); }
public void RetrieveExistingPreset() { Preset p = new Preset(); PresetsRepository r = PresetsRepository.Default; Preset other = new Preset(); Assert.AreSame(p, r.FindOrAdd(p)); Assert.AreNotSame(other, r.FindOrAdd(p)); }
public void AddCommand() { PresetsRepository sr = PresetsRepository.Default; PresetsRepositoryViewModel srvm = new PresetsRepositoryViewModel(); int numSettings = sr.Presets.Count; srvm.AddCommand.Execute(null); Assert.AreEqual(numSettings + 1, sr.Presets.Count, "Export settings repository should have new settings."); Assert.AreEqual(numSettings + 1, srvm.ViewModels.Count, "Settings repository view model should have new settings view model."); }
public void RetrieveUnknownPreset() { Preset p = new Preset() { Name = "asdfasdfasdfasdfööö" }; PresetsRepository r = PresetsRepository.Default; int count = r.Presets.Count; Preset o = r.FindOrAdd(p); Assert.AreSame(p, o); Assert.AreEqual(count + 1, r.Presets.Count); }
public void RemoveCommand() { PresetsRepository sr = PresetsRepository.Default; for (int i = 0; i < 3; i++) { Preset p = new Preset(); p.Name = String.Format("Test preset #{0}", i); sr.Add(p); } ; int oldCount = sr.Presets.Count; PresetsRepositoryViewModel srvm = new PresetsRepositoryViewModel(); Preset s = sr.Presets[2]; Assert.IsFalse(srvm.RemoveCommand.CanExecute(null), "Remove command should be disabled if no export settings objects are selected."); srvm.ViewModels[2].IsSelected = true; Assert.IsTrue(srvm.RemoveCommand.CanExecute(null), "Remove command should be enabled if at least one export settings object is selected."); bool messageSent = false; srvm.ConfirmRemoveMessage.Sent += (object sender, MessageArgs <MessageContent> args) => { messageSent = true; args.Content.Confirmed = true; args.Respond(); }; srvm.RemoveCommand.Execute(null); Assert.IsTrue(messageSent, "ConfirmRemoveMessage was not sent."); srvm.RemoveCommand.Execute(null); Assert.AreEqual(oldCount - 1, srvm.ViewModels.Count, "Number of view model messages was not reduced by 1 after delete command."); Assert.IsFalse(((PresetsRepository)srvm.RevealModelObject()).Presets.Contains(s), "Settings object was supposed to be removed but still exists in SettingsRepository."); }