|
1 | 1 | using NUnit.Framework; |
2 | 2 | using FineCodeCoverage.Engine.MsTestPlatform.CodeCoverage; |
| 3 | +using System.Xml.Linq; |
| 4 | +using System.Xml.XPath; |
3 | 5 |
|
4 | 6 | namespace FineCodeCoverageTests.MsCodeCoverage |
5 | 7 | { |
6 | | - public class BuiltInRunSettingsTemplate_Tests |
| 8 | + public class RunSettingsTemplate_Tests |
7 | 9 | { |
8 | 10 | [Test] |
9 | 11 | public void Should_Be_Replaceable() |
10 | 12 | { |
11 | | - var builtInRunSettingsTemplate = new BuiltInRunSettingsTemplate(); |
12 | | - var template = builtInRunSettingsTemplate.Template; |
| 13 | + var runSettingsTemplate = new RunSettingsTemplate(); |
| 14 | + var template = runSettingsTemplate.ToString(); |
13 | 15 |
|
14 | 16 | var replacements = new TestRunSettingsTemplateReplacements |
15 | 17 | { |
@@ -101,35 +103,59 @@ public void Should_Be_Replaceable() |
101 | 103 | </DataCollectionRunSettings> |
102 | 104 | </RunSettings>"; |
103 | 105 |
|
104 | | - var result = builtInRunSettingsTemplate.Replace(template, replacements); |
| 106 | + var result = runSettingsTemplate.Replace(template, replacements); |
105 | 107 |
|
106 | 108 | XmlAssert.NoXmlDifferences(result.Replaced, expected); |
107 | 109 | } |
108 | 110 |
|
109 | 111 | [Test] |
110 | 112 | public void Should_Be_ReplacedTestAdapter_When_Template_Has_The_FCC_TestAdapter_Placeholder() |
111 | 113 | { |
112 | | - var builtInRunSettingsTemplate = new BuiltInRunSettingsTemplate(); |
113 | | - var template = builtInRunSettingsTemplate.Template; |
114 | | - Assert.True(builtInRunSettingsTemplate.Replace(template, new TestRunSettingsTemplateReplacements()).ReplacedTestAdapter); |
| 114 | + var runSettingsTemplate = new RunSettingsTemplate(); |
| 115 | + var template = runSettingsTemplate.ToString(); |
| 116 | + Assert.True(runSettingsTemplate.Replace(template, new TestRunSettingsTemplateReplacements()).ReplacedTestAdapter); |
115 | 117 | } |
116 | 118 |
|
117 | 119 | [Test] |
118 | | - public void Should_Be_ReplacedTestAdapter_When_Custom_Template_Does_Not_Have_FCC_TestAdapter_Placeholder() |
| 120 | + public void Should_Be_ReplacedTestAdapter_False_When_Custom_Template_Does_Not_Have_FCC_TestAdapter_Placeholder() |
119 | 121 | { |
120 | | - var builtInRunSettingsTemplate = new BuiltInRunSettingsTemplate(); |
| 122 | + var runSettingsTemplate = new RunSettingsTemplate(); |
121 | 123 | var customTemplate = @" |
122 | 124 | <RunSettings> |
123 | 125 | <RunConfiguration> |
124 | 126 | <TestAdaptersPaths>No placeholder</TestAdaptersPaths> |
125 | 127 | </RunConfiguration> |
126 | 128 | </RunSettings> |
127 | 129 | "; |
128 | | - Assert.False(builtInRunSettingsTemplate.Replace(customTemplate, new TestRunSettingsTemplateReplacements()).ReplacedTestAdapter); |
| 130 | + Assert.False(runSettingsTemplate.Replace(customTemplate, new TestRunSettingsTemplateReplacements()).ReplacedTestAdapter); |
| 131 | + } |
| 132 | + |
| 133 | + [TestCase("%fcc_testadapter%", true)] |
| 134 | + [TestCase("", false)] |
| 135 | + public void Should_HasReplaceableTestAdapter_When_Has_FCC_TestAdapter_Placeholder(string toReplace, bool expected) |
| 136 | + { |
| 137 | + var runSettingsTemplate = new RunSettingsTemplate(); |
| 138 | + Assert.AreEqual(expected,runSettingsTemplate.HasReplaceableTestAdapter(toReplace)); |
| 139 | + } |
| 140 | + |
| 141 | + [Test] |
| 142 | + public void Should_Be_FCC_Generated_If_FCCGenerated_Element_Exists() |
| 143 | + { |
| 144 | + var runSettingsTemplate = new RunSettingsTemplate(); |
| 145 | + var xpathNavigable = XDocument.Parse("<FCCGenerated/>").ToXPathNavigable(); |
| 146 | + Assert.True(runSettingsTemplate.FCCGenerated(xpathNavigable)); |
| 147 | + } |
| 148 | + |
| 149 | + [Test] |
| 150 | + public void Should_Not_Be_FCC_Generated_If_FCCGenerated_Element_Exists() |
| 151 | + { |
| 152 | + var runSettingsTemplate = new RunSettingsTemplate(); |
| 153 | + var xpathNavigable = XDocument.Parse("<Not/>").ToXPathNavigable(); |
| 154 | + Assert.False(runSettingsTemplate.FCCGenerated(xpathNavigable)); |
129 | 155 | } |
130 | 156 | } |
131 | 157 |
|
132 | | - public class BuiltInRunSettingsTemplate_ConfigureCustom_Tests |
| 158 | + public class RunSettingsTemplate_ConfigureCustom_Tests |
133 | 159 | { |
134 | 160 | private const string nonReplacedRunConfiguration = @"<RunConfiguration> |
135 | 161 | <ResultsDirectory>Path</ResultsDirectory> |
@@ -549,11 +575,11 @@ public void Should_Add_Configuration_Element_If_Not_Present_To_Existing_Ms_DataC |
549 | 575 |
|
550 | 576 | private void ConfiguredCustomReplaceTest(string custom,string expected,IRunSettingsTemplateReplacements replacements) |
551 | 577 | { |
552 | | - var builtInRunSettingsTemplate = new BuiltInRunSettingsTemplate(); |
| 578 | + var runSettingsTemplate = new RunSettingsTemplate(); |
553 | 579 |
|
554 | | - var customTemplate = builtInRunSettingsTemplate.ConfigureCustom(custom); |
| 580 | + var customTemplate = runSettingsTemplate.ConfigureCustom(custom); |
555 | 581 |
|
556 | | - var replaced = builtInRunSettingsTemplate.Replace(customTemplate, replacements).Replaced; |
| 582 | + var replaced = runSettingsTemplate.Replace(customTemplate, replacements).Replaced; |
557 | 583 |
|
558 | 584 | XmlAssert.NoXmlDifferences(replaced, expected); |
559 | 585 | } |
|
0 commit comments