1+ using System ;
2+ using System . Collections ;
3+ using NUnit . Framework ;
4+ using Unity . PerformanceTesting ;
5+ using UnityEngine . TestTools ;
6+
7+ namespace TestNameOverwrite
8+ {
9+ public class TestNameOverwriteInNamespaceTests
10+ {
11+ [ Test , Performance ]
12+ public void TestName_NameSpace_Default ( )
13+ {
14+ Assert . AreEqual ( PerformanceTest . Active . Name , $ "TestNameOverwrite.TestNameOverwriteInNamespaceTests.TestName_NameSpace_Default") ;
15+ }
16+
17+ [ Performance , TestCase ( TestName = "TestName_OverwriteInTestCase" ) ]
18+ public void TestName_Overwrite_TestCase ( )
19+ {
20+ Assert . AreEqual ( PerformanceTest . Active . Name , "TestNameOverwrite.TestNameOverwriteInNamespaceTests.TestName_Overwrite_TestCase.TestName_OverwriteInTestCase" ) ;
21+ }
22+ }
23+ }
24+
25+ public class TestNameOverwriteTests
26+ {
27+ private static int [ ] integer = new int [ ] { 2 } ;
28+
29+ [ Performance ]
30+ [ TestCase ( 1 ) ]
31+ [ TestCaseSource ( nameof ( integer ) ) ]
32+ public void TestName_TestCase_Default ( int n )
33+ {
34+ Assert . AreEqual ( PerformanceTest . Active . Name , $ "TestNameOverwriteTests.TestName_TestCase_Default({ n } )") ;
35+ }
36+
37+ [ Performance , TestCase ( TestName = "TestName_OverwriteInTestCase" ) ]
38+ public void TestName_Overwrite_TestCase ( )
39+ {
40+ Assert . AreEqual ( PerformanceTest . Active . Name , "TestNameOverwriteTests.TestName_Overwrite_TestCase.TestName_OverwriteInTestCase" ) ;
41+ }
42+
43+ [ Performance , TestCaseSource ( typeof ( MyFactoryClass ) , "TestCases" ) ]
44+ public void TestName_Overwrite_TestCaseSource ( )
45+ {
46+ Assert . AreEqual ( PerformanceTest . Active . Name , "TestNameOverwriteTests.TestName_Overwrite_TestCaseSource.TestName_OverwriteInTestCaseSource" ) ;
47+ }
48+
49+ [ Test , Performance ]
50+ public void TestName_OverwriteMethodName ( [ ValueSource ( nameof ( MethodWrapper ) ) ] TestWrapper wrapper )
51+ {
52+ Assert . AreEqual ( PerformanceTest . Active . Name , "TestNameOverwriteTests.TestName_OverwriteMethodName(OverwriteTestMethodName)" ) ;
53+ }
54+
55+ [ UnityTest , Performance ]
56+ [ TestCase ( 1 ) ]
57+ [ TestCaseSource ( nameof ( integer ) ) ]
58+ public void TestName_TestCase_Default_UnityTest ( int n )
59+ {
60+ Assert . AreEqual ( PerformanceTest . Active . Name , $ "TestNameOverwriteTests.TestName_TestCase_Default_UnityTest({ n } )") ;
61+ }
62+
63+ [ Performance , TestCase ( TestName = "TestName_OverwriteInTestCase" ) ]
64+ public void TestName_Overwrite_TestCase_UnityTest ( )
65+ {
66+ Assert . AreEqual ( PerformanceTest . Active . Name , "TestNameOverwriteTests.TestName_Overwrite_TestCase_UnityTest.TestName_OverwriteInTestCase" ) ;
67+ }
68+
69+ [ Performance , TestCaseSource ( typeof ( MyFactoryClass ) , "TestCases" ) ]
70+ public void TestName_Overwrite_TestCaseSource_UnityTest ( )
71+ {
72+ Assert . AreEqual ( PerformanceTest . Active . Name , "TestNameOverwriteTests.TestName_Overwrite_TestCaseSource_UnityTest.TestName_OverwriteInTestCaseSource" ) ;
73+ }
74+
75+ [ Test , Performance ]
76+ public void TestName_OverwriteMethodName_UnityTest ( [ ValueSource ( nameof ( MethodWrapper ) ) ] TestWrapper wrapper )
77+ {
78+ Assert . AreEqual ( PerformanceTest . Active . Name , "TestNameOverwriteTests.TestName_OverwriteMethodName_UnityTest(OverwriteTestMethodName)" ) ;
79+ }
80+
81+ public struct TestWrapper
82+ {
83+ private Func < String > func ;
84+
85+ public TestWrapper ( Func < String > func )
86+ {
87+ this . func = func ;
88+ }
89+
90+ public override string ToString ( )
91+ {
92+ return "OverwriteTestMethodName" ;
93+ }
94+ }
95+
96+ private static TestWrapper [ ] MethodWrapper =
97+ {
98+ new TestWrapper ( TestMethod ) ,
99+ } ;
100+
101+ private static String TestMethod ( )
102+ {
103+ return "TestMethod" ;
104+ }
105+ }
106+
107+ public class MyFactoryClass
108+ {
109+ public static IEnumerable TestCases
110+ {
111+ get
112+ {
113+ yield return new TestCaseData ( )
114+ . SetName ( "TestName_OverwriteInTestCaseSource" ) ;
115+ }
116+ }
117+ }
0 commit comments