public void CanDetectCsProjFileWithGivenBootstrapCsProj() { const string rootPath = "/unit-test"; var theCsProjFile = $"{rootPath}/test.csproj"; var fakeFileSystem = A.Fake <IFileSystemProvider>(opts => opts.Strict()); A.CallTo(() => fakeFileSystem.List(A <string> ._)).Returns( new List <string> { theCsProjFile, $"{rootPath}/Test.cs", } ); A.CallTo(() => fakeFileSystem.IsCsProjectFile( A <string> .That.Matches(str => str == theCsProjFile))) .Returns(true); A.CallTo(() => fakeFileSystem.LoadContent(A <string> .That.Matches(str => str == theCsProjFile)) ).Returns(_projectXml); var detect = new ProjectFileDetector(fakeFileSystem); var xml = detect.FindAndLoadCsProj(theCsProjFile); Assert.Equal(_projectXml, xml); Assert.Equal(theCsProjFile, detect.ResolvedCsProjFile); }
public VersionCliTest() { _vcsTool = A.Fake <IVcs>(opts => opts.Strict()); A.CallTo(() => _vcsTool.ToolName()).Returns("_FAKE_"); _fileDetector = A.Fake <ProjectFileDetector>(); _fileParser = A.Fake <ProjectFileParser>(); _filePatcher = A.Fake <ProjectFileVersionPatcher>(); A.CallTo(() => _fileDetector.FindAndLoadCsProj(A <string> ._)).Returns("<Project/>"); const string csProjFilePath = "/unit-test/test.csproj"; A.CallTo(() => _fileDetector.ResolvedCsProjFile).Returns(csProjFilePath); A.CallTo(() => _fileParser.Load(A <string> ._)).DoesNothing(); A.CallTo(() => _fileParser.Version).Returns("1.2.1"); _cli = new VersionCli( _vcsTool, _fileDetector, _fileParser, _filePatcher, new SemVerBumper() ); }
public VersionCli( IVcs vcsClient, ProjectFileDetector fileDetector, ProjectFileParser fileParser, ProjectFileVersionPatcher fileVersionPatcher ) { _vcsTool = vcsClient; _fileDetector = fileDetector; _fileParser = fileParser; _fileVersionPatcher = fileVersionPatcher; }
public void Aborts_when_no_csproj_file() { const string rootPath = "/unit-test"; var fakeFileSystem = A.Fake <IFileSystemProvider>(opts => opts.Strict()); A.CallTo(() => fakeFileSystem.List(A <string> ._)).Returns( new List <string> { $"{rootPath}/Test.cs", } ); A.CallTo(() => fakeFileSystem.IsCsProjectFile( A <string> .That.Matches(str => str == $"{rootPath}"))) .Returns(false); var detect = new ProjectFileDetector(fakeFileSystem); Assert.Throws <OperationCanceledException>(() => detect.FindAndLoadCsProj(rootPath)); }