public void DeleteJobCommandWithTwoJobsInQueue_CurrentItemChanges_CommandRaisesCanExecuteChanged() { _model = new ManagePrintJobsViewModel(_jobInfoQueue, _dragAndDrop, _jobInfoManager, _dispatcher, new DesignTimeTranslationUpdater(), new DesignTimeApplicationNameProvider()); _model.DeleteJobCommand.CanExecuteChanged += delegate { _eventWasRaised = true; }; _jobInfoQueue.OnNewJobInfo += Raise.EventWith(null, new NewJobInfoEventArgs(_jobInfoStub)); Assert.IsTrue(_eventWasRaised); }
public void Setup() { _jobList = new List <IJobInfo>(); _jobInfoQueue = MockRepository.GenerateStub <IJobInfoQueue>(); _jobInfoQueue.Stub(x => x.JobInfos).Return(_jobList); _eventWasRaised = false; _model = new ManagePrintJobsViewModel(_jobInfoQueue); }
public void CollectionView_WithEmptyQueue_CurrentItemIsNull() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); queueStub.Stub(x => x.JobInfos).Return(new List <IJobInfo>()); var model = new ManagePrintJobsViewModel(queueStub); Assert.IsNull(model.JobInfos.CurrentItem); }
public void MergeAllJobsCommandWithEmptyQueue_ExecuteCalled_ThrowsInvalidOperationException() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); queueStub.Stub(x => x.JobInfos).Return(new List <IJobInfo>()); var model = new ManagePrintJobsViewModel(queueStub); Assert.Throws <InvalidOperationException>(() => model.MergeAllJobsCommand.Execute(null)); }
public void MoveDownCommandWithEmptyQueue_CanExecuteWithNullParameter_IsFalse() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); queueStub.Stub(x => x.JobInfos).Return(new List <IJobInfo>()); var model = new ManagePrintJobsViewModel(queueStub); Assert.IsFalse(model.MoveDownCommand.CanExecute(null)); }
public void MoveDownCommandWithTwoJobQueue_CanExecuteWithSecondJob_IsFalse() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); Assert.IsFalse(model.MoveDownCommand.CanExecute(jobList.Skip(1))); }
public void MoveDownCommandWithTwoJobQueue_ExecutedWhileCanExecuteIsFalse_ThrowsInvalidOperationException() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); Assert.Throws <InvalidOperationException>(() => model.MoveDownCommand.Execute(jobList.Skip(1))); }
public void MergeJobsCommandWithTwoJobQueue_CanExecuteWithTwoJobListParameter_IsTrue() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); Assert.IsTrue(model.MergeJobsCommand.CanExecute(jobList)); }
public void Setup() { _jobList = new List <JobInfo>(); _jobInfoQueue = MockRepository.GenerateStub <IJobInfoQueue>(); _dragAndDrop = new DragAndDropEventHandler(MockRepository.GenerateStub <IFileConversionHandler>()); _jobInfoManager = MockRepository.GenerateStub <IJobInfoManager>(); _jobInfoQueue.Stub(x => x.JobInfos).Return(_jobList); _eventWasRaised = false; _model = new ManagePrintJobsViewModel(_jobInfoQueue, _dragAndDrop, _jobInfoManager); }
public void CollectionView_WithMultipleJobsInQueue_CurrentItemIsFirstJob() { var jobInfoStub = MockRepository.GenerateStub <IJobInfo>(); var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); queueStub.Stub(x => x.JobInfos).Return(new List <IJobInfo>(new[] { jobInfoStub, MockRepository.GenerateStub <IJobInfo>() })); var model = new ManagePrintJobsViewModel(queueStub); Assert.AreSame(jobInfoStub, model.JobInfos.CurrentItem); }
public void DeleteJobCommandWithTwoJobsInQueue_CurrentItemChanges_CommandRaisesCanExecuteChanged() { _model = new ManagePrintJobsViewModel(_jobInfoQueue, _dragAndDrop, _jobInfoManager); _jobInfoQueue.Raise(x => x.OnNewJobInfo += null, _jobInfoQueue, new NewJobInfoEventArgs(MockRepository.GenerateStub <JobInfo>())); _jobInfoQueue.Raise(x => x.OnNewJobInfo += null, _jobInfoQueue, new NewJobInfoEventArgs(MockRepository.GenerateStub <JobInfo>())); _model.DeleteJobCommand.CanExecuteChanged += delegate { _eventWasRaised = true; }; _model.JobInfos.MoveCurrentToNext(); Assert.IsTrue(_eventWasRaised); }
public void MergeJobsCommandWithTwoJobsInQueue_ExecuteCalled_RemovesJobInfoFromQueue() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.MergeJobsCommand.Execute(jobList); queueStub.AssertWasCalled(x => x.Remove(jobList[1], false)); }
public void MoveDownCommandWithTwoJobQueue_WithFirstJob_JobRemainsCurrentItem() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.MoveDownCommand.Execute(jobList.Take(1)); Assert.AreEqual(jobList[0], model.JobInfos.CurrentItem); }
public void MoveDownCommandWithTwoJobQueue_WithFirstJob_MovesToSecondPosition() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.MoveDownCommand.Execute(jobList.Take(1)); Assert.AreEqual(1, model.JobInfos.IndexOf(jobList[0])); }
public void MoveUpCommandWithTwoJobQueue_WithSecondJob_MovesToTopOfList() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.MoveUpCommand.Execute(jobList.Skip(1)); Assert.AreEqual(0, model.JobInfos.IndexOf(jobList[1])); }
public void MergeJobsCommandWithTwoJobsInQueue_ExecuteCalled_SaveRemainingJobInfo() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.MergeJobsCommand.Execute(jobList); jobList[0].AssertWasCalled(x => x.SaveInf()); }
public void CollectionViewWithSingleJobInQueue_OnJobAddedToQueue_OldJobRemainsCurrentItem() { var jobInfoStub = MockRepository.GenerateStub <IJobInfo>(); var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); queueStub.Stub(x => x.JobInfos).Return(new List <IJobInfo>(new[] { jobInfoStub })); var model = new ManagePrintJobsViewModel(queueStub); queueStub.Raise(x => x.OnNewJobInfo += null, queueStub, new NewJobInfoEventArgs(MockRepository.GenerateStub <IJobInfo>())); Assert.AreSame(jobInfoStub, model.JobInfos.CurrentItem); }
public void MergeJobsCommandWithTwoJobsInQueue_ExecuteCalled_CallsMergeOnFirstJobWithSecondJobAsParam() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.MergeJobsCommand.Execute(jobList); jobList[0].AssertWasCalled(x => x.Merge(jobList[1])); }
public void DeleteJobCommandWithTwoJobsInQueue_DeletingSecondJob_FirstJobBecomesCurrentItem() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.DeleteJobCommand.Execute(jobList.Skip(1)); Assert.AreSame(jobList[0], model.JobInfos.CurrentItem); }
public void DeleteJobCommandWithSingleJobInQueue_CanExecute_IsTrue() { var jobInfoStub = MockRepository.GenerateStub <IJobInfo>(); var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { jobInfoStub }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); Assert.IsTrue(model.DeleteJobCommand.CanExecute(jobList)); }
public void MergeAllJobsCommandWithTwoJobsInQueue_ExecuteCalled_OnlyFirstJobRemainsInViewModel() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.MergeAllJobsCommand.Execute(null); Assert.IsFalse(model.JobInfos.Contains(jobList[1])); Assert.AreEqual(1, model.JobInfos.Count); }
public void MergeJobsCommandWithTwoJobQueue_WithTwoJobListParameter_FirstJobRemains() { var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { MockRepository.GenerateStub <IJobInfo>(), MockRepository.GenerateStub <IJobInfo>() }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.MergeJobsCommand.Execute(jobList); Assert.AreEqual(1, model.JobInfos.Count); Assert.AreSame(jobList[0], model.JobInfos.CurrentItem); }
public void Setup() { _jobList = new List <JobInfo> { new JobInfo(), new JobInfo(), new JobInfo() }; _jobInfoQueue = Substitute.For <IJobInfoQueue>(); _dragAndDrop = new DragAndDropEventHandler(Substitute.For <IFileConversionAssistant>()); _jobInfoManager = Substitute.For <IJobInfoManager>(); _dispatcher = new InvokeImmediatelyDispatcher(); _jobInfoQueue.JobInfos.Returns(_jobList); _eventWasRaised = false; _jobInfoStub = new JobInfo(); _model = new ManagePrintJobsViewModel(_jobInfoQueue, _dragAndDrop, _jobInfoManager, _dispatcher, new DesignTimeTranslationUpdater(), new DesignTimeApplicationNameProvider()); }
public void DeleteJobCommandWithSingleJobInQueue_Execute_CallsRemoveInJobInfoQueue() { var jobInfoStub = MockRepository.GenerateStub <IJobInfo>(); var queueStub = MockRepository.GenerateStub <IJobInfoQueue>(); var jobList = new List <IJobInfo>(new[] { jobInfoStub }); queueStub.Stub(x => x.JobInfos).Return(jobList); var model = new ManagePrintJobsViewModel(queueStub); model.DeleteJobCommand.Execute(jobList); queueStub.AssertWasCalled(x => x.Remove(jobInfoStub, true)); }
public ManagePrintJobsWindow(ManagePrintJobsViewModel viewModel, ITranslator translator) { DataContext = viewModel; InitializeComponent(); translator.Translate(this); }
public ManagePrintJobsWindow(ManagePrintJobsViewModel viewModel) { DataContext = viewModel; InitializeComponent(); }