Skip to content

Commit e35bbf8

Browse files
[Improve] code coverage
1 parent 4700fb4 commit e35bbf8

10 files changed

Lines changed: 101 additions & 37 deletions

File tree

ECoreNetto.Extensions.Tests/ModelElementExtensionsTestFixture.cs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,5 +105,32 @@ public void Verify_that_RemoveUnwantedHtmlTags_throws_Exception_when_argument_nu
105105

106106
Assert.That(() => ModelElementExtensions.RemoveUnwantedHtmlTags(html, new List<string>()), Throws.ArgumentException);
107107
}
108+
109+
[Test]
110+
public void Verify_that_QueryRawDocumentation_returns_expected_results()
111+
{
112+
var documentedClass = this.rootPackage.EClassifiers.Single(x => x.Name == "Ingredient");
113+
114+
var documentation = documentedClass.QueryRawDocumentation();
115+
116+
Assert.That(documentation, Is.EqualTo("Any of the foods or substances that are combined to make a particular dish."));
117+
118+
var undocumentedClass = this.rootPackage.EClassifiers.Single(x => x.Name == "Recipe");
119+
120+
documentation = undocumentedClass.QueryRawDocumentation();
121+
122+
Assert.That(documentation, Is.EqualTo(string.Empty));
123+
}
124+
125+
[Test]
126+
public void Verify_that_RemoveUnwantedHtmlTags_returns_expected_results()
127+
{
128+
const string html = "<p>Hello <em>World</em></p>";
129+
var cleaned = ModelElementExtensions.RemoveUnwantedHtmlTags(html, new List<string> { "p", "em" });
130+
Assert.That(cleaned, Is.EqualTo("Hello World"));
131+
132+
var unchanged = ModelElementExtensions.RemoveUnwantedHtmlTags(html, new List<string>());
133+
Assert.That(unchanged, Is.EqualTo(html));
134+
}
108135
}
109136
}

ECoreNetto.Extensions.Tests/StructuralFeatureExtensionsTestFixture.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,5 +177,33 @@ public void Verify_that_QueryIsContainment_returns_expected_result()
177177

178178
Assert.That(minutesStructuralFeature.QueryIsContainment, Is.False);
179179
}
180+
181+
[Test]
182+
public void Verify_that_QueryTypeName_returns_expected_results()
183+
{
184+
var ingredientClass = this.rootPackage.EClassifiers.OfType<EClass>().Single(x => x.Name == "Ingredient");
185+
var amountStructuralFeature = ingredientClass.EStructuralFeatures.Single(x => x.Name == "amount");
186+
Assert.That(amountStructuralFeature.QueryTypeName(), Is.EqualTo("Amount"));
187+
188+
var timeTriggerClass = this.rootPackage.EClassifiers.OfType<EClass>().Single(x => x.Name == "TimeTrigger");
189+
var minutesStructuralFeature = timeTriggerClass.EStructuralFeatures.Single(x => x.Name == "minutes");
190+
Assert.That(minutesStructuralFeature.QueryTypeName(), Is.EqualTo("EInt"));
191+
}
192+
193+
[Test]
194+
public void Verify_that_QueryIsNullable_returns_expected_results()
195+
{
196+
var relationClass = this.rootPackage.EClassifiers.OfType<EClass>().Single(x => x.Name == "ContainmentRelation");
197+
var containerFeature = relationClass.EStructuralFeatures.Single(x => x.Name == "container");
198+
Assert.That(containerFeature.QueryIsNullable(), Is.False);
199+
200+
var standardActionClass = this.rootPackage.EClassifiers.OfType<EClass>().Single(x => x.Name == "StandardAction");
201+
var toolFeature = standardActionClass.EStructuralFeatures.Single(x => x.Name == "tool");
202+
Assert.That(toolFeature.QueryIsNullable(), Is.True);
203+
204+
var recipeClass = this.rootPackage.EClassifiers.OfType<EClass>().Single(x => x.Name == "Recipe");
205+
var ingredientsFeature = recipeClass.EStructuralFeatures.Single(x => x.Name == "ingredients");
206+
Assert.That(ingredientsFeature.QueryIsNullable(), Is.False);
207+
}
180208
}
181209
}

ECoreNetto.Extensions/ECoreNetto.Extensions.csproj

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,7 @@
5050
<None Include="..\README.md" Pack="true" PackagePath="\" />
5151
</ItemGroup>
5252

53+
<ItemGroup>
54+
<InternalsVisibleTo Include="$(MSBuildProjectName).Tests" />
55+
</ItemGroup>
5356
</Project>

ECoreNetto.HandleBars/ECoreNetto.HandleBars.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,8 @@
5050
<None Include="..\README.md" Pack="true" PackagePath="\" />
5151
</ItemGroup>
5252

53+
<ItemGroup>
54+
<InternalsVisibleTo Include="$(MSBuildProjectName).Tests" />
55+
</ItemGroup>
56+
5357
</Project>

ECoreNetto.Reporting/ECoreNetto.Reporting.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,8 @@
6969
<None Include="..\README.md" Pack="true" PackagePath="\" />
7070
</ItemGroup>
7171

72+
<ItemGroup>
73+
<InternalsVisibleTo Include="$(MSBuildProjectName).Tests" />
74+
</ItemGroup>
75+
7276
</Project>

ECoreNetto.Tests/Resource/ResourceSetTestFixture.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,16 @@ public void VerifyThatAResourceCanBeFoundByUri()
114114
Assert.That(resource, Is.EqualTo(result));
115115
}
116116

117+
[Test]
118+
public void VerifyThatNullIsReturnedWhenResourceCannotBeFound()
119+
{
120+
var uri = new System.Uri(this.filePath);
121+
122+
var result = this.resourceSet.Resource(uri, false);
123+
124+
Assert.That(result, Is.Null);
125+
}
126+
117127
[Test]
118128
public void VerifyThat_when_resource_is_called_with_null_uri_exception_is_thrown()
119129
{

ECoreNetto.Tests/Resource/ResourceTestFixture.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,5 +91,21 @@ public void Verify_that_can_be_initialized_with_null_logger()
9191

9292
}, Throws.Nothing);
9393
}
94+
95+
[Test]
96+
public void Verify_that_resource_load_state_and_unload_work_as_expected()
97+
{
98+
this.resource.Load(null);
99+
100+
Assert.That(this.resource.IsLoaded(), Is.True);
101+
Assert.That(this.resource.AllContents().Any(), Is.True);
102+
103+
this.resource.UnLoad();
104+
105+
Assert.That(this.resource.IsLoaded(), Is.False);
106+
Assert.That(this.resource.Contents, Is.Empty);
107+
Assert.That(this.resource.Errors, Is.Empty);
108+
Assert.That(this.resource.Warnings, Is.Empty);
109+
}
94110
}
95111
}

ECoreNetto.Tools/ECoreNetto.Tools.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,8 @@
7070
<ProjectReference Include="..\ECoreNetto.Reporting\ECoreNetto.Reporting.csproj" />
7171
</ItemGroup>
7272

73+
<ItemGroup>
74+
<InternalsVisibleTo Include="$(MSBuildProjectName).Tests" />
75+
</ItemGroup>
76+
7377
</Project>

ECoreNetto/ECoreNetto.csproj

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,11 @@
4545
<ItemGroup>
4646
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="9.0.8" />
4747
<PackageReference Include="Microsoft.Sbom.Targets" Version="4.1.0" PrivateAssets="all" />
48-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All"/>
48+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
49+
</ItemGroup>
50+
51+
<ItemGroup>
52+
<InternalsVisibleTo Include="$(MSBuildProjectName).Tests" />
4953
</ItemGroup>
5054

5155
</Project>

ECoreNetto/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)