1
+ using System ;
1
2
using System . Threading ;
2
3
using FluentAssertions ;
3
4
using GitHub . Unity ;
@@ -19,18 +20,33 @@ public void GitInstallTest()
19
20
20
21
var gitInstallationPath = TestBasePath . Combine ( "GitInstall" ) . CreateDirectory ( ) ;
21
22
22
- var gitInstallDetails = new GitInstallDetails ( gitInstallationPath , DefaultEnvironment . OnWindows ) ;
23
- // var gitInstallTask = new PortableGitInstallTask(CancellationToken.None, Environment, gitInstallDetails);
24
- //
25
- // gitInstallTask.Start().Wait();
26
- //
27
- // Environment.FileSystem.CalculateFolderMD5(gitInstallDetails.GitInstallPath).Should().Be(PortableGitInstallDetails.ExtractedMD5);
28
- // Environment.FileSystem.CalculateFolderMD5(gitInstallDetails.GitInstallPath, false).Should().Be(PortableGitInstallDetails.FileListMD5);
29
- //
30
- // new PortableGitInstallTask(CancellationToken.None, Environment, gitInstallDetails)
31
- // .Then(new PortableGitInstallTask(CancellationToken.None, Environment, gitInstallDetails))
32
- // .Start()
33
- // .Wait();
23
+ var installDetails = new GitInstallDetails ( gitInstallationPath , DefaultEnvironment . OnWindows ) ;
24
+
25
+ var gitInstaller = new GitInstaller ( Environment , CancellationToken . None , installDetails ) ;
26
+
27
+ var autoResetEvent = new AutoResetEvent ( false ) ;
28
+
29
+ bool ? result = null ;
30
+ NPath resultPath = null ;
31
+ Exception ex = null ;
32
+
33
+ gitInstaller . SetupGitIfNeeded ( new ActionTask < NPath > ( CancellationToken . None , ( b , path ) => {
34
+ result = true ;
35
+ resultPath = path ;
36
+ autoResetEvent . Set ( ) ;
37
+ } ) ,
38
+ new ActionTask ( CancellationToken . None , ( b , exception ) => {
39
+ result = false ;
40
+ ex = exception ;
41
+ autoResetEvent . Set ( ) ;
42
+ } ) ) ;
43
+
44
+ autoResetEvent . WaitOne ( ) ;
45
+
46
+ result . HasValue . Should ( ) . BeTrue ( ) ;
47
+ result . Value . Should ( ) . BeTrue ( ) ;
48
+ resultPath . Should ( ) . NotBeNull ( ) ;
49
+ ex . Should ( ) . BeNull ( ) ;
34
50
}
35
51
}
36
52
}
0 commit comments