1+ using GitHub . Unity ;
2+ using NCrunch . Framework ;
3+ using NSubstitute ;
4+ using NUnit . Framework ;
5+ using TestUtils ;
6+
7+ namespace UnitTests
8+ {
9+ [ TestFixture , Isolated ]
10+ class GitObjectFactoryTests
11+ {
12+ private static readonly SubstituteFactory SubstituteFactory = new SubstituteFactory ( ) ;
13+
14+ [ Test ]
15+ public void ShouldParseNormalFile ( )
16+ {
17+ NPath . FileSystem = SubstituteFactory . CreateFileSystem ( new CreateFileSystemOptions ( ) {
18+ CurrentDirectory = @"c:\Projects\UnityProject"
19+ } ) ;
20+
21+ var environment = NSubstitute . Substitute . For < IEnvironment > ( ) ;
22+ environment . RepositoryPath . Returns ( @"c:\Projects\UnityProject" . ToNPath ( ) ) ;
23+ environment . UnityProjectPath . Returns ( @"c:\Projects\UnityProject" . ToNPath ( ) ) ;
24+
25+ var gitObjectFactory = new GitObjectFactory ( environment ) ;
26+ var gitStatusEntry = gitObjectFactory . CreateGitStatusEntry ( "hello.txt" , GitFileStatus . Deleted ) ;
27+
28+ Assert . AreEqual ( @"c:\Projects\UnityProject\hello.txt" , gitStatusEntry . FullPath ) ;
29+ }
30+
31+
32+ [ Test ]
33+ public void ShouldParseOddFile ( )
34+ {
35+ NPath . FileSystem = SubstituteFactory . CreateFileSystem ( new CreateFileSystemOptions ( )
36+ {
37+ CurrentDirectory = @"c:\Projects\UnityProject"
38+ } ) ;
39+
40+ var environment = NSubstitute . Substitute . For < IEnvironment > ( ) ;
41+ environment . RepositoryPath . Returns ( @"c:\Projects\UnityProject" . ToNPath ( ) ) ;
42+ environment . UnityProjectPath . Returns ( @"c:\Projects\UnityProject" . ToNPath ( ) ) ;
43+
44+ var gitObjectFactory = new GitObjectFactory ( environment ) ;
45+ var gitStatusEntry = gitObjectFactory . CreateGitStatusEntry ( "c:UsersOculusGoVideo.mp4" , GitFileStatus . Deleted ) ;
46+
47+ Assert . AreEqual ( @"c:\Projects\UnityProject\c:UsersOculusGoVideo.mp4" , gitStatusEntry . FullPath ) ;
48+ }
49+ }
50+ }
0 commit comments