@@ -10,7 +10,7 @@ public class DaxFormatterClientFixture
1010 {
1111 public DaxFormatterClient Client { get ; private set ; }
1212
13- public DaxFormatterClientFixture ( ) => Client = new DaxFormatterClient ( ) ;
13+ public DaxFormatterClientFixture ( ) => Client = new DaxFormatterClient ( application : "Dax.Formatter.Tests" , version : "develop" ) ;
1414 }
1515
1616 public class DaxFormatterClientTests : IClassFixture < DaxFormatterClientFixture >
@@ -27,11 +27,8 @@ public DaxFormatterClientTests(DaxFormatterClientFixture formatter)
2727 [ InlineData ( DaxFormatterSpacingStyle . NoSpaceAfterFunction , "[X]=IF(1=1,TRUE(),FALSE())" , "[X] =\r \n IF( 1 = 1, TRUE(), FALSE() )\r \n " ) ]
2828 public async Task DaxFormatterClient_FormatAsync_SpacingStyleIsHonored ( DaxFormatterSpacingStyle spacingStyle , string expression , string expectedExpression )
2929 {
30- var request = new DaxFormatterSingleRequest
31- {
32- Dax = expression ,
33- SkipSpaceAfterFunctionName = spacingStyle
34- } ;
30+ var request = DaxFormatterSingleRequest . CreateFrom ( expression ) ;
31+ request . SkipSpaceAfterFunctionName = spacingStyle ;
3532
3633 var response = await _fixture . Client . FormatAsync ( request ) ;
3734 Assert . NotNull ( response ) ;
@@ -45,11 +42,8 @@ public async Task DaxFormatterClient_FormatAsync_SpacingStyleIsHonored(DaxFormat
4542 [ InlineData ( DaxFormatterLineStyle . ShortLine , "[X]:=IF(1=1,1,0)" , "[X] :=\r \n IF (\r \n 1 = 1,\r \n 1,\r \n 0\r \n )\r \n " ) ]
4643 public async Task DaxFormatterClient_FormatAsync_LineStyleIsHonored ( DaxFormatterLineStyle lineStyle , string expression , string expectedExpression )
4744 {
48- var request = new DaxFormatterSingleRequest
49- {
50- Dax = expression ,
51- MaxLineLength = lineStyle
52- } ;
45+ var request = DaxFormatterSingleRequest . CreateFrom ( expression ) ;
46+ request . MaxLineLength = lineStyle ;
5347
5448 var response = await _fixture . Client . FormatAsync ( request ) ;
5549 Assert . NotNull ( response ) ;
@@ -85,9 +79,7 @@ public async Task DaxFormatterClient_FormatAsync_SingleExpressionFails(string ex
8579 [ InlineData ( "[X] := CALCULATE(SUM(Sales[Sales Amount]), USERELATIONSHIP(Sales[DueDateKey],'Date'[DateKey]))" , "[X] :=\r \n CALCULATE (\r \n SUM ( Sales[Sales Amount] ),\r \n USERELATIONSHIP ( Sales[DueDateKey], 'Date'[DateKey] )\r \n )\r \n " ) ]
8680 public async Task DaxFormatterClient_FormatAsync_SingleRequestSucceded ( string expression , string expectedExpression )
8781 {
88- var request = new DaxFormatterSingleRequest ( ) ;
89- request . Dax = expression ;
90-
82+ var request = DaxFormatterSingleRequest . CreateFrom ( expression ) ;
9183 var response = await _fixture . Client . FormatAsync ( request ) ;
9284
9385 AssertSingleSucceded ( response , expectedExpression ) ;
@@ -98,9 +90,7 @@ public async Task DaxFormatterClient_FormatAsync_SingleRequestSucceded(string ex
9890 [ InlineData ( "EVALUATE( Table ) ORDER Table[Column]" , 0 , 24 ) ]
9991 public async Task DaxFormatterClient_FormatAsync_SingleRequestFails ( string expression , int expectedErrorLine , int expectedErrorColumn )
10092 {
101- var request = new DaxFormatterSingleRequest ( ) ;
102- request . Dax = expression ;
103-
93+ var request = DaxFormatterSingleRequest . CreateFrom ( expression ) ;
10494 var response = await _fixture . Client . FormatAsync ( request ) ;
10595
10696 AssertSingleFails ( response , expectedErrorLine , expectedErrorColumn ) ;
@@ -113,9 +103,7 @@ public async Task DaxFormatterClient_FormatAsync_SingleRequestFails(string expre
113103 public async Task DaxFormatterClient_FormatAsync_MultipleRequestSucceded ( string expression , string expectedExpression , int repeat )
114104 {
115105 var expressions = Enumerable . Repeat ( expression , repeat ) ;
116- var request = new DaxFormatterMultipleRequest ( ) ;
117- request . Dax . AddRange ( expressions ) ;
118-
106+ var request = DaxFormatterMultipleRequest . CreateFrom ( expressions ) ;
119107 var response = await _fixture . Client . FormatAsync ( request ) ;
120108
121109 AssertMultipleSucceded ( response , expectedExpression , repeat ) ;
@@ -127,9 +115,7 @@ public async Task DaxFormatterClient_FormatAsync_MultipleRequestSucceded(string
127115 public async Task DaxFormatterClient_FormatAsync_MultipleRequestFails ( string expression , int repeat , int expectedErrorLine , int expectedErrorColumn )
128116 {
129117 var expressions = Enumerable . Repeat ( expression , repeat ) ;
130- var request = new DaxFormatterMultipleRequest ( ) ;
131- request . Dax . AddRange ( expressions ) ;
132-
118+ var request = DaxFormatterMultipleRequest . CreateFrom ( expressions ) ;
133119 var response = await _fixture . Client . FormatAsync ( request ) ;
134120
135121 AssertMultipleFails ( response , repeat , expectedErrorLine , expectedErrorColumn ) ;
@@ -149,30 +135,30 @@ public async Task DaxFormatterClient_FormatAsync_ParallelSingleExpressionSuccede
149135 [ InlineData ( "evaluate('Table')" , "EVALUATE\r \n ( 'Table' )\r \n " , 10 ) ]
150136 public async Task DaxFormatterClient_FormatAsync_ParallelSingleRequestSucceded ( string expression , string expectedExpression , int repeat )
151137 {
152- var request = new DaxFormatterSingleRequest ( ) ;
153- request . Dax = expression ;
154-
138+ var request = DaxFormatterSingleRequest . CreateFrom ( expression ) ;
155139 var tasks = Enumerable . Repeat ( request , repeat ) . AsParallel ( ) . Select ( ( r ) => _fixture . Client . FormatAsync ( r ) ) ;
156140 var responses = await Task . WhenAll ( tasks ) ;
157141
158142 AssertParallelSingleSucceded ( responses , expectedExpression , repeat ) ;
159143 }
160144
161- private static void AssertSingleSucceded ( DaxFormatterResponse response , string expectedExpression )
145+ private static void AssertSingleSucceded ( DaxFormatterResponse ? response , string expectedExpression )
162146 {
163147 Assert . NotNull ( response ) ;
164-
148+ Assert . NotNull ( response . Formatted ) ;
149+ Assert . NotNull ( response . Errors ) ;
165150 Assert . NotEmpty ( response . Formatted ) ;
166151 Assert . Empty ( response . Errors ) ;
167152
168153 var actualExpression = response . Formatted ;
169154 Assert . Equal ( expectedExpression , actualExpression ) ;
170155 }
171156
172- private static void AssertSingleFails ( DaxFormatterResponse response , int expectedErrorLine , int expectedErrorColumn )
157+ private static void AssertSingleFails ( DaxFormatterResponse ? response , int expectedErrorLine , int expectedErrorColumn )
173158 {
174159 Assert . NotNull ( response ) ;
175-
160+ Assert . NotNull ( response . Formatted ) ;
161+ Assert . NotNull ( response . Errors ) ;
176162 Assert . Empty ( response . Formatted ) ;
177163 Assert . Single ( response . Errors ) ;
178164
@@ -183,10 +169,11 @@ private static void AssertSingleFails(DaxFormatterResponse response, int expecte
183169
184170 private static void AssertMultipleSucceded ( IReadOnlyList < DaxFormatterResponse > responses , string expectedExpression , int repeat )
185171 {
186- Assert . NotNull ( responses ) ;
172+ Assert . NotNull ( responses ) ;
187173 Assert . Equal ( repeat , responses . Count ) ;
174+ Assert . DoesNotContain ( responses , ( r ) => r . Errors is null ) ;
188175
189- var errors = responses . SelectMany ( ( r ) => r . Errors ) ;
176+ var errors = responses . SelectMany ( ( r ) => r . Errors ! ) ;
190177 Assert . Empty ( errors ) ;
191178
192179 var formattedExpressions = responses . Select ( ( r ) => r . Formatted ) . Distinct ( ) ;
@@ -200,8 +187,9 @@ private static void AssertMultipleFails(IReadOnlyList<DaxFormatterResponse> resp
200187 {
201188 Assert . NotNull ( responses ) ;
202189 Assert . Equal ( repeat , responses . Count ) ;
190+ Assert . DoesNotContain ( responses , ( r ) => r . Errors is null ) ;
203191
204- var errors = responses . SelectMany ( ( r ) => r . Errors ) . ToList ( ) ;
192+ var errors = responses . SelectMany ( ( r ) => r . Errors ! ) . ToList ( ) ;
205193 Assert . Equal ( repeat , errors . Count ) ;
206194
207195 var errorLines = errors . Select ( ( e ) => e . Line ) . Distinct ( ) ;
@@ -223,11 +211,10 @@ private static void AssertMultipleFails(IReadOnlyList<DaxFormatterResponse> resp
223211 Assert . Equal ( string . Empty , actualExpression ) ;
224212 }
225213
226- private static void AssertParallelSingleSucceded ( DaxFormatterResponse [ ] responses , string expectedExpression , int repeat )
214+ private static void AssertParallelSingleSucceded ( DaxFormatterResponse ? [ ] responses , string expectedExpression , int repeat )
227215 {
216+ Assert . NotNull ( responses ) ;
228217 Assert . Equal ( repeat , responses . Length ) ;
229- Assert . Empty ( responses . SelectMany ( ( r ) => r . Errors ) ) ;
230- Assert . Single ( responses . Select ( ( r ) => r . Formatted ) . Distinct ( ) ) ;
231218
232219 foreach ( var response in responses )
233220 AssertSingleSucceded ( response , expectedExpression ) ;
0 commit comments