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));
        }
Пример #9
0
        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);
        }
Пример #11
0
        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);
 }
Пример #26
0
 public ManagePrintJobsWindow(ManagePrintJobsViewModel viewModel)
 {
     DataContext = viewModel;
     InitializeComponent();
 }