PageRenderTime 51ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/MSBuildVersioning.Test/SvnInfoProviderTest.cs

#
C# | 113 lines | 96 code | 17 blank | 0 comment | 0 complexity | cef95792ea7ff7adec2cdff45e7409c6 MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Diagnostics;
  4. using System.IO;
  5. using System.Text;
  6. using NUnit.Framework;
  7. namespace MSBuildVersioning.Test
  8. {
  9. [TestFixture]
  10. public class SvnInfoProviderTest
  11. {
  12. private const string TestRepositoriesPath = @"..\..\..\TestRepositories";
  13. [TestFixtureSetUp]
  14. public void Init()
  15. {
  16. using (Process process = new Process())
  17. {
  18. process.StartInfo.FileName = "powershell.exe";
  19. process.StartInfo.Arguments = @"-ExecutionPolicy Bypass .\build-svn.ps1";
  20. process.StartInfo.WorkingDirectory = TestRepositoriesPath;
  21. process.Start();
  22. process.WaitForExit();
  23. }
  24. }
  25. [TestFixtureTearDown]
  26. public void CleanUp()
  27. {
  28. using (Process process = new Process())
  29. {
  30. process.StartInfo.FileName = "powershell.exe";
  31. process.StartInfo.Arguments = @"-ExecutionPolicy Bypass .\clean-svn.ps1";
  32. process.StartInfo.WorkingDirectory = TestRepositoriesPath;
  33. process.Start();
  34. process.WaitForExit();
  35. }
  36. }
  37. public SvnInfoProvider SvnWC1
  38. {
  39. get { return new SvnInfoProvider() { Path = Path.Combine(TestRepositoriesPath, "SvnWC1") }; }
  40. }
  41. public SvnInfoProvider SvnWC2
  42. {
  43. get { return new SvnInfoProvider() { Path = Path.Combine(TestRepositoriesPath, "SvnWC2") }; }
  44. }
  45. [Test]
  46. public void GetRevisionNumberTest()
  47. {
  48. Assert.AreEqual(6, SvnWC1.GetRevisionNumber());
  49. Assert.AreEqual(5, SvnWC2.GetRevisionNumber());
  50. }
  51. [Test]
  52. public void IsMixedRevisionsTest()
  53. {
  54. Assert.IsTrue(SvnWC1.IsMixedRevisions());
  55. Assert.IsFalse(SvnWC2.IsMixedRevisions());
  56. }
  57. [Test]
  58. public void IsWorkingCopyDirtyTest()
  59. {
  60. Assert.IsFalse(SvnWC1.IsWorkingCopyDirty());
  61. Assert.IsTrue(SvnWC2.IsWorkingCopyDirty());
  62. }
  63. [Test]
  64. public void GetRepositoryUrlTest()
  65. {
  66. string repoUrl = "file:///" + Path.GetFullPath(TestRepositoriesPath).Replace('\\', '/') + "/SvnRepo";
  67. Assert.AreEqual(repoUrl, SvnWC1.GetRepositoryUrl());
  68. Assert.AreEqual(repoUrl + "/branches/beef", SvnWC2.GetRepositoryUrl());
  69. }
  70. [Test]
  71. public void GetRepositoryRootTest()
  72. {
  73. string repoUrl = "file:///" + Path.GetFullPath(TestRepositoriesPath).Replace('\\', '/') + "/SvnRepo";
  74. Assert.AreEqual(repoUrl, SvnWC1.GetRepositoryRoot());
  75. Assert.AreEqual(repoUrl, SvnWC2.GetRepositoryRoot());
  76. }
  77. [Test]
  78. public void GetRepositoryPathTest()
  79. {
  80. Assert.AreEqual("/", SvnWC1.GetRepositoryPath());
  81. Assert.AreEqual("/branches/beef", SvnWC2.GetRepositoryPath());
  82. }
  83. [Test]
  84. public void GetBranchTest()
  85. {
  86. Assert.AreEqual("", SvnWC1.GetBranch());
  87. Assert.AreEqual("beef", SvnWC2.GetBranch());
  88. }
  89. [Test]
  90. public void GetTagTest()
  91. {
  92. Assert.AreEqual("", SvnWC1.GetTag());
  93. Assert.AreEqual("", SvnWC2.GetTag());
  94. }
  95. }
  96. }