@@ -20,16 +20,17 @@ public void Setup() {
2020
2121 [ Test ]
2222 public async Task OneInterface ( ) {
23- var source = await ReadCSharpFile < IBird > ( ) ;
24- var generated = await ReadCSharpFile < BirdDecorator > ( ) ;
23+ var source = await ReadCSharpFile < IBird > ( true ) ;
24+ var generated = await ReadCSharpFile < BirdDecorator > ( true ) ;
2525
2626 await new VerifyCS . Test
2727 {
2828 TestState = {
29- ReferenceAssemblies = ReferenceAssemblies . Net . Net60 ,
29+ ReferenceAssemblies = ReferenceAssemblies . Net . Net90 ,
3030 AdditionalReferences =
3131 {
3232 implementationAssembly ,
33+ GetAssembly ( "TestLibrary" )
3334 } ,
3435 Sources = { source } ,
3536 GeneratedSources =
@@ -42,16 +43,17 @@ public async Task OneInterface() {
4243
4344 [ Test ]
4445 public async Task OneInterface_Properties ( ) {
45- var source = await ReadCSharpFile < ILionProperties > ( ) ;
46- var generated = await ReadCSharpFile < LionPropertiesDecorator > ( ) ;
46+ var source = await ReadCSharpFile < ILionProperties > ( true ) ;
47+ var generated = await ReadCSharpFile < LionPropertiesDecorator > ( true ) ;
4748
4849 await new VerifyCS . Test
4950 {
5051 TestState = {
51- ReferenceAssemblies = ReferenceAssemblies . Net . Net60 ,
52+ ReferenceAssemblies = ReferenceAssemblies . Net . Net90 ,
5253 AdditionalReferences =
5354 {
5455 implementationAssembly ,
56+ GetAssembly ( "TestLibrary" )
5557 } ,
5658 Sources = { source } ,
5759 GeneratedSources =
@@ -64,17 +66,17 @@ public async Task OneInterface_Properties() {
6466
6567 [ Test ]
6668 public async Task OneInterface_Constraints ( ) {
67- var source = await ReadCSharpFile < ITigerConstraints > ( ) ;
68- var generated = await ReadCSharpFile < TigerConstraintsDecorator > ( ) ;
69+ var source = await ReadCSharpFileByName ( true , "ITigerConstraints" ) ;
70+ var generated = await ReadCSharpFileByName ( true , "TigerConstraintsDecorator.generated" ) ;
6971
7072 await new VerifyCS . Test
7173 {
7274 TestState = {
73- ReferenceAssemblies = ReferenceAssemblies . Net . Net60 ,
75+ ReferenceAssemblies = ReferenceAssemblies . Net . Net90 ,
7476 AdditionalReferences =
7577 {
7678 implementationAssembly ,
77- Assembly . GetExecutingAssembly ( )
79+ GetAssembly ( "TestLibrary" )
7880 } ,
7981 Sources = { source } ,
8082 GeneratedSources =
@@ -87,16 +89,17 @@ public async Task OneInterface_Constraints() {
8789
8890 [ Test ]
8991 public async Task OneInterface_NestedNamespace ( ) {
90- var source = await ReadCSharpFile < INested > ( ) ;
91- var generated = await ReadCSharpFile < NestedDecorator > ( ) ;
92+ var source = await ReadCSharpFile < INested > ( true ) ;
93+ var generated = await ReadCSharpFile < NestedDecorator > ( true ) ;
9294
9395 await new VerifyCS . Test
9496 {
9597 TestState = {
96- ReferenceAssemblies = ReferenceAssemblies . Net . Net60 ,
98+ ReferenceAssemblies = ReferenceAssemblies . Net . Net90 ,
9799 AdditionalReferences =
98100 {
99101 implementationAssembly ,
102+ GetAssembly ( "TestLibrary" )
100103 } ,
101104 Sources = { source } ,
102105 GeneratedSources =
@@ -109,19 +112,20 @@ public async Task OneInterface_NestedNamespace() {
109112
110113 [ Test ]
111114 public async Task TwoInterfaces ( ) {
112- var sourceOne = await ReadCSharpFile < IBird > ( ) ;
113- var sourceTwo = await ReadCSharpFile < ICat > ( ) ;
115+ var sourceOne = await ReadCSharpFile < IBird > ( true ) ;
116+ var sourceTwo = await ReadCSharpFile < ICat > ( true ) ;
114117
115- var generatedOne = await ReadCSharpFile < BirdDecorator > ( ) ;
116- var generatedTwo = await ReadCSharpFile < CatDecorator > ( ) ;
118+ var generatedOne = await ReadCSharpFile < BirdDecorator > ( true ) ;
119+ var generatedTwo = await ReadCSharpFile < CatDecorator > ( true ) ;
117120
118121 await new VerifyCS . Test
119122 {
120123 TestState = {
121- ReferenceAssemblies = ReferenceAssemblies . Net . Net60 ,
124+ ReferenceAssemblies = ReferenceAssemblies . Net . Net90 ,
122125 AdditionalReferences =
123126 {
124127 implementationAssembly ,
128+ GetAssembly ( "TestLibrary" )
125129 } ,
126130 Sources = { sourceOne , sourceTwo } ,
127131 GeneratedSources =
@@ -135,19 +139,20 @@ public async Task TwoInterfaces() {
135139
136140 [ Test ]
137141 public async Task WrapperList ( ) {
138- var source = await ReadCSharpFile < IBird > ( ) ;
139- var wrapperList = await ReadCSharpFile < WrapperList > ( ) ;
140- var generated = await ReadCSharpFile < BirdDecorator > ( ) ;
141- var generatedThirdParty = await ReadCSharpFile < DynamoDBContextDecorator > ( ) ;
142+ var source = await ReadCSharpFile < IBird > ( true ) ;
143+ var wrapperList = await ReadCSharpFile < WrapperList > ( true ) ;
144+ var generated = await ReadCSharpFile < BirdDecorator > ( true ) ;
145+ var generatedThirdParty = await ReadCSharpFileByName ( true , "DynamoDBContextDecorator.generated" ) ;
142146
143147 await new VerifyCS . Test
144148 {
145149 TestState = {
146- ReferenceAssemblies = ReferenceAssemblies . Net . Net60 ,
150+ ReferenceAssemblies = ReferenceAssemblies . Net . Net90 ,
147151 AdditionalReferences =
148152 {
149153 implementationAssembly ,
150- GetAssembly ( "AWSSDK.DynamoDBv2" )
154+ GetAssembly ( "TestLibrary" ) ,
155+ Assembly . GetAssembly ( typeof ( DynamoDBContext ) ) ,
151156 } ,
152157 Sources = { wrapperList , source } ,
153158 GeneratedSources =
@@ -164,13 +169,32 @@ private static Assembly GetAssembly(string name) {
164169 return Assembly . Load ( implementationAssemblyName ) ;
165170 }
166171
167- private static async Task < string > ReadCSharpFile < T > ( ) {
168- var currentDirectory = Directory . GetParent ( Directory . GetParent ( AppDomain . CurrentDomain . BaseDirectory ) . Parent . Parent . FullName ) ;
172+ private static async Task < string > ReadCSharpFile < T > ( bool isTestLibrary ) {
173+ var filenameWithoutExtension = typeof ( T ) . Name ;
174+ return await ReadCSharpFileByName ( isTestLibrary , filenameWithoutExtension ) ;
175+ }
176+
177+ private static async Task < string > ReadCSharpFileByName ( bool isTestLibrary , string filenameWithoutExtension ) {
178+ var searchPattern = $ "{ filenameWithoutExtension } *.cs";
179+ return await ReadFile ( isTestLibrary , searchPattern ) ;
180+ }
181+
182+ private static async Task < string > ReadFile ( bool isTestLibrary , string searchPattern ) {
183+ var currentDirectory = GetCurrentDirectory ( ) ;
184+
185+ var targetDirectory = isTestLibrary ? GetTestLibraryDirectory ( currentDirectory ) : currentDirectory ;
169186
170- var searchPattern = $ "{ typeof ( T ) . Name } *.cs";
171- var file = currentDirectory . GetFiles ( searchPattern ) . First ( ) ;
187+ var file = targetDirectory . GetFiles ( searchPattern ) . First ( ) ;
172188
173189 using var fileReader = new StreamReader ( file . OpenRead ( ) ) ;
174190 return await fileReader . ReadToEndAsync ( ) ;
175191 }
176- }
192+
193+ private static DirectoryInfo ? GetCurrentDirectory ( ) {
194+ return Directory . GetParent ( Directory . GetParent ( AppDomain . CurrentDomain . BaseDirectory ) . Parent . Parent . FullName ) ;
195+ }
196+
197+ private static DirectoryInfo GetTestLibraryDirectory ( DirectoryInfo currentDirectory ) {
198+ return currentDirectory . Parent . GetDirectories ( "TestLibrary" ) . First ( ) ;
199+ }
200+ }
0 commit comments