Beispiel #1
0
        public void AddFileAddsDoesNotAllowDuplicates()
        {
            // Arrange
            var control = utility.CreateConversionsSettingsControl();
            var dialog  = Substitute.For <IFileDialog>();

            var path      = utility.CreatePath("somefile.xml");
            var directory = Path.GetDirectoryName(path);

            control.Settings.LastFileDirectory = directory;
            dialog.GetFile(directory).Returns(new List <string> {
                path
            });

            var presenter = new ConversionSettingsPresenter(control, dialog);

            // Act
            presenter.AddFile();
            presenter.AddFile();

            // Assert
            var count = control.Settings.ConversionFiles.Count;

            Assert.True(1 == count, $"Actual: {count}");
        }
Beispiel #2
0
        public void DownButtonDoesNotSwitchOrderOfList()
        {
            // Arrange
            var control = utility.CreateConversionsSettingsControl();
            var dialog  = Substitute.For <IFileDialog>();

            control.FileList.Items.Add(new ConversionFile {
                FileName = "file1", FullPath = "full path for file 1"
            }, true);
            control.FileList.Items.Add(new ConversionFile {
                FileName = "file2", FullPath = "full path for file 2"
            }, true);
            control.FileList.Items.Add(new ConversionFile {
                FileName = "file3", FullPath = "full path for file 3"
            }, true);
            control.FileList.SelectedItem  = control.FileList.Items[2];
            control.FileList.SelectedIndex = 2;

            var presenter = new ConversionSettingsPresenter(control, dialog);

            // Act
            presenter.DownClick();

            var convFile = control.FileList.Items[2] as ConversionFile;

            Assert.Equal(2, control.FileList.SelectedIndex);
            Assert.Equal("file3", convFile.FileName);
        }
Beispiel #3
0
        public void AddFileThrowsOnInvalidFile()
        {
            // Arrange
            var control = utility.CreateConversionsSettingsControl();
            var dialog  = Substitute.For <IFileDialog>();

            var path      = utility.CreatePath("somerandomfile.xml");
            var directory = Path.GetDirectoryName(path);

            control.Settings.LastFileDirectory = directory;
            dialog.GetFile(directory).Returns(new List <string> {
                path
            });

            var presenter = new ConversionSettingsPresenter(control, dialog);

            // Act and Assert
            Assert.Throws <InvalidOperationException>(() => presenter.AddFile());
        }
Beispiel #4
0
        public void RemoveFileRemovesSelectedFileFromList()
        {
            // Arrange
            var control = utility.CreateConversionsSettingsControl();
            var dialog  = Substitute.For <IFileDialog>();

            control.FileList.Items.Add(new ConversionFile {
                FileName = "file1", FullPath = "full path for file 1"
            }, true);
            control.FileList.Items.Add(new ConversionFile {
                FileName = "file2", FullPath = "full path for file 2"
            }, true);
            control.FileList.SelectedItem = control.FileList.Items[0];

            var presenter = new ConversionSettingsPresenter(control, dialog);

            // Act
            presenter.RemoveFile();

            Assert.True(control.FileList.Items.Count == 1);
        }
Beispiel #5
0
        public void AddFileAddsToConversionFilesList()
        {
            // Arrange
            var control = utility.CreateConversionsSettingsControl();
            var dialog  = Substitute.For <IFileDialog>();

            var path      = utility.CreatePath("somefile.xml");
            var directory = Path.GetDirectoryName(path);

            control.Settings.LastFileDirectory = directory;
            dialog.GetFile(directory).Returns(new List <string> {
                path
            });

            var presenter = new ConversionSettingsPresenter(control, dialog);

            // Act
            presenter.AddFile();

            // Assert
            Assert.NotEmpty(control.Settings.ConversionFiles);
        }
Beispiel #6
0
        public void GenerateFileAddsFileToFileList()
        {
            // Arrange
            var control = utility.CreateConversionsSettingsControl();

            var dialog = Substitute.For <IFileDialog>();
            var view   = Substitute.For <IConversionFileView>();

            view.ShowDialog().Returns(DialogResult.OK);
            view.BindingSource.Returns(new BindingSource());
            view.BindingSource.DataSource = new BindingListView <ConversionItem>(new List <ConversionItem>()
            {
                new ConversionItem()
            });
            view.SavedFilePath.Returns(utility.CreatePath("somefile.xml"));

            var presenter = new ConversionSettingsPresenter(control, dialog);

            // Act
            presenter.GenerateFile(view);

            // Assert
            Assert.True(control.FileList.Items.Count == 1);
        }