Extract common code to base class and use common mock messaging
Rob Mensching committed
Jun 12, 2020 at 06:53 UTC
b123126f6c3511259e4520cc7151e9dce9c534bc
3 files changed
+69
-74
src/test/WixToolsetTest.Converters/BaseConverterFixture.cs
new
+47
@@ -0,0 +1,47 @@
1
+// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
+
3
+namespace WixToolsetTest.Converters
4
+{
5
+ using System;
6
+ using System.IO;
7
+ using System.Text;
8
+ using System.Xml.Linq;
9
+ using Xunit;
10
+
11
+ public abstract class BaseConverterFixture
12
+ {
13
+ protected static string UnformattedDocumentString(XDocument document)
14
+ {
15
+ var sb = new StringBuilder();
16
+
17
+ using (var writer = new StringWriter(sb))
18
+ {
19
+ document.Save(writer, SaveOptions.DisableFormatting);
20
+ }
21
+
22
+ return sb.ToString();
23
+ }
24
+
25
+ protected static string[] UnformattedDocumentLines(XDocument document)
26
+ {
27
+ var sb = new StringBuilder();
28
+
29
+ using (var writer = new StringWriter(sb))
30
+ {
31
+ document.Save(writer, SaveOptions.DisableFormatting);
32
+ }
33
+
34
+ return sb.ToString().Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
35
+ }
36
+
37
+ protected static void CompareLineByLine(string[] expectedLines, string[] actualLines)
38
+ {
39
+ for (var i = 0; i < expectedLines.Length; ++i)
40
+ {
41
+ Assert.True(actualLines.Length > i, $"{i}: Expected file longer than actual file");
42
+ Assert.Equal($"{i}: {expectedLines[i]}", $"{i}: {actualLines[i]}");
43
+ }
44
+ Assert.True(expectedLines.Length == actualLines.Length, "Actual file longer than expected file");
45
+ }
46
+ }
47
+}
src/test/WixToolsetTest.Converters/ConverterFixture.cs
+22
-73
@@ -3,16 +3,12 @@
3
namespace WixToolsetTest.Converters
4
{
5
using System;
6
- using System.IO;
7
- using System.Text;
6
using System.Xml.Linq;
7
using WixToolset.Converters;
10
- using WixToolset.Data;
11
- using WixToolset.Extensibility;
12
- using WixToolset.Extensibility.Services;
8
+ using WixToolsetTest.Converters.Mocks;
9
using Xunit;
10
15
- public class ConverterFixture
11
+ public class ConverterFixture : BaseConverterFixture
12
{
13
private static readonly XNamespace Wix4Namespace = "http://wixtoolset.org/schemas/v4/wxs";
14
@@ -32,7 +28,7 @@ namespace WixToolsetTest.Converters
28
29
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
30
35
- var messaging = new DummyMessaging();
31
+ var messaging = new MockMessaging();
32
var converter = new Wix3Converter(messaging, 2, null, null);
33
34
var errors = converter.ConvertDocument(document);
@@ -54,7 +50,7 @@ namespace WixToolsetTest.Converters
50
51
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
52
57
- var messaging = new DummyMessaging();
53
+ var messaging = new MockMessaging();
54
var converter = new Wix3Converter(messaging, 4, null, null);
55
56
var errors = converter.ConvertDocument(document);
@@ -87,7 +83,7 @@ namespace WixToolsetTest.Converters
83
84
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
85
90
- var messaging = new DummyMessaging();
86
+ var messaging = new MockMessaging();
87
var converter = new Wix3Converter(messaging, 4, null, null);
88
89
var errors = converter.ConvertDocument(document);
@@ -123,7 +119,7 @@ namespace WixToolsetTest.Converters
119
120
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
121
126
- var messaging = new DummyMessaging();
122
+ var messaging = new MockMessaging();
123
var converter = new Wix3Converter(messaging, 4, null, null);
124
125
var conversions = converter.ConvertDocument(document);
@@ -161,7 +157,7 @@ namespace WixToolsetTest.Converters
157
158
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
159
164
- var messaging = new DummyMessaging();
160
+ var messaging = new MockMessaging();
161
var converter = new Wix3Converter(messaging, 4, null, null);
162
163
var conversions = converter.ConvertDocument(document);
@@ -195,7 +191,7 @@ namespace WixToolsetTest.Converters
191
192
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
193
198
- var messaging = new DummyMessaging();
194
+ var messaging = new MockMessaging();
195
var converter = new Wix3Converter(messaging, 2, null, null);
196
197
var errors = converter.ConvertDocument(document);
@@ -231,7 +227,7 @@ namespace WixToolsetTest.Converters
227
228
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
229
234
- var messaging = new DummyMessaging();
230
+ var messaging = new MockMessaging();
231
var converter = new Wix3Converter(messaging, 2, null, null);
232
233
var errors = converter.ConvertDocument(document);
@@ -255,7 +251,7 @@ namespace WixToolsetTest.Converters
251
252
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
253
258
- var messaging = new DummyMessaging();
254
+ var messaging = new MockMessaging();
255
var converter = new Wix3Converter(messaging, 2, null, null);
256
var errors = converter.ConvertDocument(document);
257
Assert.Equal(0, errors);
@@ -278,7 +274,7 @@ namespace WixToolsetTest.Converters
274
275
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
276
281
- var messaging = new DummyMessaging();
277
+ var messaging = new MockMessaging();
278
var converter = new Wix3Converter(messaging, 2, null, null);
279
280
var errors = converter.ConvertDocument(document);
@@ -307,7 +303,7 @@ namespace WixToolsetTest.Converters
303
304
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
305
310
- var messaging = new DummyMessaging();
306
+ var messaging = new MockMessaging();
307
var converter = new Wix3Converter(messaging, 2, null, null);
308
309
var errors = converter.ConvertDocument(document);
@@ -340,7 +336,7 @@ namespace WixToolsetTest.Converters
336
337
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
338
343
- var messaging = new DummyMessaging();
339
+ var messaging = new MockMessaging();
340
var converter = new Wix3Converter(messaging, 2, null, null);
341
342
var errors = converter.ConvertDocument(document);
@@ -370,7 +366,7 @@ namespace WixToolsetTest.Converters
366
367
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
368
373
- var messaging = new DummyMessaging();
369
+ var messaging = new MockMessaging();
370
var converter = new Wix3Converter(messaging, 2, null, null);
371
372
var errors = converter.ConvertDocument(document);
@@ -399,7 +395,7 @@ namespace WixToolsetTest.Converters
395
396
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
397
402
- var messaging = new DummyMessaging();
398
+ var messaging = new MockMessaging();
399
var converter = new Wix3Converter(messaging, 2, null, null);
400
401
var errors = converter.ConvertDocument(document);
@@ -438,7 +434,7 @@ namespace WixToolsetTest.Converters
434
435
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
436
441
- var messaging = new DummyMessaging();
437
+ var messaging = new MockMessaging();
438
var converter = new Wix3Converter(messaging, 2, null, null);
439
440
var errors = converter.ConvertDocument(document);
@@ -467,7 +463,7 @@ namespace WixToolsetTest.Converters
463
464
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
465
470
- var messaging = new DummyMessaging();
466
+ var messaging = new MockMessaging();
467
var converter = new Wix3Converter(messaging, 2, null, null);
468
469
var errors = converter.ConvertDocument(document);
@@ -495,7 +491,7 @@ namespace WixToolsetTest.Converters
491
492
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
493
498
- var messaging = new DummyMessaging();
494
+ var messaging = new MockMessaging();
495
var converter = new Wix3Converter(messaging, 2, null, null);
496
497
var errors = converter.ConvertDocument(document);
@@ -523,7 +519,7 @@ namespace WixToolsetTest.Converters
519
520
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
521
526
- var messaging = new DummyMessaging();
522
+ var messaging = new MockMessaging();
523
var converter = new Wix3Converter(messaging, 2, null, null);
524
525
var errors = converter.ConvertDocument(document);
@@ -551,7 +547,7 @@ namespace WixToolsetTest.Converters
547
548
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
549
554
- var messaging = new DummyMessaging();
550
+ var messaging = new MockMessaging();
551
var converter = new Wix3Converter(messaging, 2, null, null);
552
553
var errors = converter.ConvertDocument(document);
@@ -579,7 +575,7 @@ namespace WixToolsetTest.Converters
575
576
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
577
582
- var messaging = new DummyMessaging();
578
+ var messaging = new MockMessaging();
579
var converter = new Wix3Converter(messaging, 2, null, null);
580
581
var errors = converter.ConvertDocument(document);
@@ -613,7 +609,7 @@ namespace WixToolsetTest.Converters
609
610
var document = XDocument.Parse(parse, LoadOptions.PreserveWhitespace | LoadOptions.SetLineInfo);
611
616
- var messaging = new DummyMessaging();
612
+ var messaging = new MockMessaging();
613
var converter = new Wix3Converter(messaging, 2, null, null);
614
615
var errors = converter.ConvertDocument(document);
@@ -623,52 +619,5 @@ namespace WixToolsetTest.Converters
619
Assert.Equal(6, errors);
620
Assert.Equal(expected, actual);
621
}
626
-
627
- private static string UnformattedDocumentString(XDocument document)
628
- {
629
- var sb = new StringBuilder();
630
-
631
- using (var writer = new StringWriter(sb))
632
- {
633
- document.Save(writer, SaveOptions.DisableFormatting);
634
- }
635
-
636
- return sb.ToString();
637
- }
638
-
639
- private class DummyMessaging : IMessaging
640
- {
641
- public bool EncounteredError { get; set; }
642
-
643
- public int LastErrorNumber { get; set; }
644
-
645
- public bool ShowVerboseMessages { get; set; }
646
-
647
- public bool SuppressAllWarnings { get; set; }
648
-
649
- public bool WarningsAsError { get; set; }
650
-
651
- public void ElevateWarningMessage(int warningNumber)
652
- {
653
- }
654
-
655
- public string FormatMessage(Message message) => String.Empty;
656
-
657
- public void SetListener(IMessageListener listener)
658
- {
659
- }
660
-
661
- public void SuppressWarningMessage(int warningNumber)
662
- {
663
- }
664
-
665
- public void Write(Message message)
666
- {
667
- }
668
-
669
- public void Write(string message, bool verbose = false)
670
- {
671
- }
672
- }
622
}
623
}
src/test/WixToolsetTest.Converters/Mocks/MockMessaging.cs
-1
@@ -4,7 +4,6 @@ namespace WixToolsetTest.Converters.Mocks
4
{
5
using System;
6
using System.Collections.Generic;
7
- using System.Text;
7
using WixToolset.Data;
8
using WixToolset.Extensibility;
9
using WixToolset.Extensibility.Services;