public void LoadFromDirectory_ShouldReturn_InvalidUrlFormat_WhenUrlIsNotHttps()
        {
            var fileSystem     = RegisterMockFileSystem();
            var expectedConfig = new GitDependFile
            {
                Name         = "testing",
                Dependencies =
                {
                    new Dependency
                    {
                        Url       = "[email protected]:kjjuno/Lib2.git",
                        Directory = "..\\Lib2"
                    }
                }
            };

            var instance = new GitDependFileFactory();

            string directory = @"C:\projects\GitDepend";

            fileSystem.Directory.CreateDirectory(directory);
            fileSystem.Directory.CreateDirectory(fileSystem.Path.Combine(directory, ".git"));
            var path = fileSystem.Path.Combine(directory, "GitDepend.json");

            fileSystem.File.WriteAllText(path, expectedConfig.ToString());

            string     dir;
            ReturnCode code;
            var        config = instance.LoadFromDirectory(directory, out dir, out code);

            Assert.IsNull(config, "Config file should be null");
            Assert.AreEqual(directory, dir, "Invalid directory");
            Assert.AreEqual(ReturnCode.InvalidUrlFormat, code, "Invalid Return Code");
        }
        public void LoadFromDirectory_ShoulReturnEmptyFile_WhenNoGitDependFileExistsInGitRepo()
        {
            var fileSystem = RegisterMockFileSystem();
            var instance   = new GitDependFileFactory();

            string directory = @"C:\projects\GitDepend";

            fileSystem.Directory.CreateDirectory(directory);
            fileSystem.Directory.CreateDirectory(fileSystem.Path.Combine(directory, ".git"));

            string     dir;
            ReturnCode code;
            var        config   = instance.LoadFromDirectory(directory, out dir, out code);
            var        expected = new GitDependFile();

            Assert.IsNotNull(config, "Config file should not be null");
            Assert.AreEqual(directory, dir, "Invalid directory");
            Assert.AreEqual(ReturnCode.Success, code, "Invalid Return Code");
            Assert.AreEqual(expected.ToString(), config.ToString(), "File does not match");
        }