public void ConvertBack_NotSupportedException()
        {
            // Arrange
            var fileSystem = Mock.Create <IFileSystem>();

            var converter = new PathToSystemImageConverter(fileSystem);

            // Act
            converter.ConvertBack(null, null, null, null);
        }
        public void Convert_Null_value()
        {
            // Arrange
            var fileSystem = Mock.Create <IFileSystem>();

            var converter = new PathToSystemImageConverter(fileSystem);

            // Act
            var result = converter.Convert(null, null, null, null);

            // Assert
            Assert.IsNull(result);
        }
        public void Convert_NoExtension_value()
        {
            // Arrange
            var fileSystem = Mock.Create <IFileSystem>();

            var converter = new PathToSystemImageConverter(fileSystem);

            // Act
            var result = converter.Convert(@"D:\fileWithoutExtension", null, null, null);

            // Assert
            Assert.IsNull(result);
        }
        public void Convert_RelativeWithExtension_value()
        {
            // Arrange
            var fileSystem = Mock.Create <IFileSystem>();

            Mock.Arrange(() => fileSystem.WriteAllTextToFile(Arg.AnyString, Arg.AnyString))
            .DoInstead <string, string>(File.WriteAllText);
            Mock.Arrange(() => fileSystem.DirectoryExists(@"\fileWithoutExtension.sln")).Returns(true);
            Mock.Arrange(() => fileSystem.FileExists(@"\fileWithoutExtension.sln")).Returns(true);

            var converter = new PathToSystemImageConverter(fileSystem);

            // Act
            converter.Convert(@"\fileWithoutExtension.sln", null, null, null);
        }
        /////////////////////////////////////////////////////////

        #region Private Methods

        private void SetImageBinding()
        {
            if (Solution?.FileSystem == null)
            {
                return;
            }

            var converter = new PathToSystemImageConverter(Solution.FileSystem);
            var binding   = new Binding("SolutionPath")
            {
                Source    = Solution,
                Converter = converter
            };

            SolutionFileImage.SetBinding(Image.SourceProperty, binding);
        }
        public void Convert_WithExtension_value()
        {
            // Arrange
            var fileSystem = Mock.Create <IFileSystem>();

            Mock.Arrange(() => fileSystem.WriteAllTextToFile(Arg.AnyString, Arg.AnyString))
            .DoInstead <string, string>(File.WriteAllText);

            var converter = new PathToSystemImageConverter(fileSystem);

            // Act
            var result = converter.Convert(@"D:\fileWithoutExtension.sln", null, null, null);

            // Assert
            Assert.IsNotNull(result);
        }