Skip to content

Commit 2a9b4e5

Browse files
authored
Fix generic method tests (#144)
1 parent 39c7ed6 commit 2a9b4e5

1 file changed

Lines changed: 107 additions & 7 deletions

File tree

src/PortToTripleSlash/tests/PortToTripleSlash/PortToTripleSlash.Strings.Tests.cs

Lines changed: 107 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ public MyClass() { }
225225
}
226226

227227
[Fact]
228-
public Task Class_ParameterlessMethod()
228+
public Task Class_Method_Parameterless_VoidReturn()
229229
{
230230
string docId = "T:MyNamespace.MyClass";
231231

@@ -272,7 +272,7 @@ public void MyVoidMethod() { }
272272
}
273273

274274
[Fact]
275-
public Task Class_MethodReturnValueAndParameter()
275+
public Task Class_Method_IntParameter_IntReturn()
276276
{
277277
string docId = "T:MyNamespace.MyClass";
278278

@@ -323,7 +323,7 @@ public class MyClass
323323
}
324324

325325
[Fact]
326-
public Task Class_GenericMethodWithParameter()
326+
public Task Class_GenericMethod_Parameterless_VoidReturn()
327327
{
328328
string docId = "T:MyNamespace.MyClass";
329329

@@ -338,7 +338,107 @@ public Task Class_GenericMethodWithParameter()
338338
</Docs>
339339
<Members>
340340
<Member MemberName=""MyGenericMethod&lt;T&gt;"">
341-
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyClass.MyGenericMethod`1(`0)"" />
341+
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyClass.MyGenericMethod``1"" />
342+
<Docs>
343+
<typeparam name=""T"">This is the MyGenericMethod type parameter description.</typeparam>
344+
<summary>This is the MyGenericMethod summary.</summary>
345+
<remarks>These are the MyGenericMethod remarks.</remarks>
346+
</Docs>
347+
</Member>
348+
</Members>
349+
</Type>";
350+
351+
string originalCode = @"namespace MyNamespace;
352+
public class MyClass
353+
{
354+
public void MyGenericMethod<T>() { }
355+
}";
356+
357+
string expectedCode = @"namespace MyNamespace;
358+
public class MyClass
359+
{
360+
/// <summary>This is the MyGenericMethod summary.</summary>
361+
/// <typeparam name=""T"">This is the MyGenericMethod type parameter description.</typeparam>
362+
/// <remarks>These are the MyGenericMethod remarks.</remarks>
363+
public void MyGenericMethod<T>() { }
364+
}";
365+
366+
List<string> docFiles = new() { docFile };
367+
List<string> originalCodeFiles = new() { originalCode };
368+
Dictionary<string, string> expectedCodeFiles = new() { { docId, expectedCode } };
369+
StringTestData stringTestData = new(docFiles, originalCodeFiles, expectedCodeFiles, false);
370+
371+
return TestWithStringsAsync(stringTestData);
372+
}
373+
374+
[Fact]
375+
public Task Class_GenericMethod_IntParameter_VoidReturn()
376+
{
377+
string docId = "T:MyNamespace.MyClass";
378+
379+
string docFile = @"<Type Name=""MyClass"" FullName=""MyNamespace.MyClass"">
380+
<TypeSignature Language=""DocId"" Value=""T:MyNamespace.MyClass"" />
381+
<AssemblyInfo>
382+
<AssemblyName>MyAssembly</AssemblyName>
383+
</AssemblyInfo>
384+
<Docs>
385+
<summary>To be added.</summary>
386+
<remarks>To be added.</remarks>
387+
</Docs>
388+
<Members>
389+
<Member MemberName=""MyGenericMethod&lt;T&gt;"">
390+
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyClass.MyGenericMethod``1(System.Int32)"" />
391+
<Docs>
392+
<typeparam name=""T"">This is the MyGenericMethod type parameter description.</typeparam>
393+
<param name=""intParam"">This is the MyGenericMethod parameter description.</param>
394+
<summary>This is the MyGenericMethod summary.</summary>
395+
<remarks>These are the MyGenericMethod remarks.</remarks>
396+
</Docs>
397+
</Member>
398+
</Members>
399+
</Type>";
400+
401+
string originalCode = @"namespace MyNamespace;
402+
public class MyClass
403+
{
404+
public void MyGenericMethod<T>(int intParam) { }
405+
}";
406+
407+
string expectedCode = @"namespace MyNamespace;
408+
public class MyClass
409+
{
410+
/// <summary>This is the MyGenericMethod summary.</summary>
411+
/// <typeparam name=""T"">This is the MyGenericMethod type parameter description.</typeparam>
412+
/// <param name=""intParam"">This is the MyGenericMethod parameter description.</param>
413+
/// <remarks>These are the MyGenericMethod remarks.</remarks>
414+
public void MyGenericMethod<T>(int intParam) { }
415+
}";
416+
417+
List<string> docFiles = new() { docFile };
418+
List<string> originalCodeFiles = new() { originalCode };
419+
Dictionary<string, string> expectedCodeFiles = new() { { docId, expectedCode } };
420+
StringTestData stringTestData = new(docFiles, originalCodeFiles, expectedCodeFiles, false);
421+
422+
return TestWithStringsAsync(stringTestData);
423+
}
424+
425+
[Fact]
426+
public Task Class_GenericMethod_GenericParameter_GenericReturn()
427+
{
428+
string docId = "T:MyNamespace.MyClass";
429+
430+
string docFile = @"<Type Name=""MyClass"" FullName=""MyNamespace.MyClass"">
431+
<TypeSignature Language=""DocId"" Value=""T:MyNamespace.MyClass"" />
432+
<AssemblyInfo>
433+
<AssemblyName>MyAssembly</AssemblyName>
434+
</AssemblyInfo>
435+
<Docs>
436+
<summary>To be added.</summary>
437+
<remarks>To be added.</remarks>
438+
</Docs>
439+
<Members>
440+
<Member MemberName=""MyGenericMethod&lt;T&gt;"">
441+
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyClass.MyGenericMethod``1(``0)"" />
342442
<Docs>
343443
<typeparam name=""T"">This is the MyGenericMethod type parameter description.</typeparam>
344444
<param name=""withGenericArgument"">This is the MyGenericMethod withGenericArgument description.</param>
@@ -961,7 +1061,7 @@ public Task Full_Class()
9611061
</Docs>
9621062
</Member>
9631063
<Member MemberName=""MyGenericMethod&lt;T&gt;"">
964-
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyClass.MyGenericMethod`1(`0)"" />
1064+
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyClass.MyGenericMethod``1(``0)"" />
9651065
<Docs>
9661066
<typeparam name=""T"">This is the MyGenericMethod type parameter description.</typeparam>
9671067
<param name=""withGenericArgument"">This is the MyGenericMethod withGenericArgument description.</param>
@@ -1123,7 +1223,7 @@ public Task Full_Struct()
11231223
</Docs>
11241224
</Member>
11251225
<Member MemberName=""MyGenericMethod&lt;T&gt;"">
1126-
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyStruct.MyGenericMethod`1(`0)"" />
1226+
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyStruct.MyGenericMethod``1(``0)"" />
11271227
<Docs>
11281228
<typeparam name=""T"">This is the MyGenericMethod type parameter description.</typeparam>
11291229
<param name=""withGenericArgument"">This is the MyGenericMethod withGenericArgument description.</param>
@@ -1278,7 +1378,7 @@ public Task Full_Interface()
12781378
</Docs>
12791379
</Member>
12801380
<Member MemberName=""MyGenericMethod&lt;T&gt;"">
1281-
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyInterface.MyGenericMethod`1(`0)"" />
1381+
<MemberSignature Language=""DocId"" Value=""M:MyNamespace.MyInterface.MyGenericMethod``1(``0)"" />
12821382
<Docs>
12831383
<typeparam name=""T"">This is the MyGenericMethod type parameter description.</typeparam>
12841384
<param name=""withGenericArgument"">This is the MyGenericMethod withGenericArgument description.</param>

0 commit comments

Comments
 (0)