1
+ namespace Atc . Rest . ApiGenerator . Framework . Tests . Factories ;
2
+
3
+ public class FileInfoFactoryTests
4
+ {
5
+ [ Theory ]
6
+ [ InlineData ( @"C:\Project" , new [ ] { "SubFolder" , "File.cs" } , @"C:\Project\SubFolder\File.cs" ) ]
7
+ [ InlineData ( @"C:\Project" , new [ ] { "Folder-With-Dashes" , "File.cs" } , @"C:\Project\Folder\With\Dashes\File.cs" ) ]
8
+ [ InlineData ( @"C:\Project" , new [ ] { "nested.folder" , "File.cs" } , @"C:\Project\Nested\Folder\File.cs" ) ]
9
+ [ InlineData ( @"C:\Project" , new [ ] { "_shared" , "File.cs" } , @"C:\Project\_Shared\File.cs" ) ]
10
+ [ InlineData ( @"C:\Project" , new [ ] { "_enumerationTypes" , "File.cs" } , @"C:\Project\_EnumerationTypes\File.cs" ) ]
11
+ [ InlineData ( @"C:\Project" , new [ ] { "folder" , "Users" , "MyUser.cs" } , @"C:\Project\Folder\Users\MyUser.cs" ) ]
12
+ [ InlineData ( @"C:\Project" , new [ ] { "nested.folder" , "Users" , "MyUser.cs" } , @"C:\Project\Nested\Folder\Users\MyUser.cs" ) ]
13
+ [ InlineData ( @"C:\Project" , new [ ] { @"nested\folder" , "Users" , "MyUser.cs" } , @"C:\Project\Nested\Folder\Users\MyUser.cs" ) ]
14
+ [ InlineData ( @"C:\Project" , new [ ] { "." , "Users" , "MyUser.cs" } , @"C:\Project\Users\MyUser.cs" ) ]
15
+ public void Create_ShouldReturnCorrectFileInfo (
16
+ string projectPath ,
17
+ string [ ] subParts ,
18
+ string expectedFilePath )
19
+ {
20
+ // Arrange
21
+ var directoryInfo = new DirectoryInfo ( projectPath ) ;
22
+
23
+ // Act
24
+ var fileInfo = FileInfoFactory . Create ( directoryInfo , subParts ) ;
25
+
26
+ // Assert
27
+ Assert . Equal ( expectedFilePath , fileInfo . FullName ) ;
28
+ }
29
+
30
+ [ Theory ]
31
+ [ InlineData ( @"C:\Project" , new string [ ] { } ) ]
32
+ [ InlineData ( @"C:\Project" , new [ ] { "SubFolder" , "FileWithoutExtension" } ) ]
33
+ public void Create_ShouldThrowException (
34
+ string projectPath ,
35
+ string [ ] subParts )
36
+ {
37
+ // Arrange
38
+ var directoryInfo = new DirectoryInfo ( projectPath ) ;
39
+
40
+ // Act & Assert
41
+ Assert . Throws < ArgumentException > ( ( ) => FileInfoFactory . Create ( directoryInfo , subParts ) ) ;
42
+ }
43
+ }
0 commit comments