Skip to content

Commit 53b4bf4

Browse files
[Improve] Code Coverage
1 parent 96a3ada commit 53b4bf4

File tree

7 files changed

+68
-8
lines changed

7 files changed

+68
-8
lines changed

SysML2.NET.Extensions.Tests/ModelInterchange/ChecksumKindProviderTestFixture.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,22 @@ namespace SysML2.NET.Extensions.Tests.Core.ModelInterchange
3232
[TestFixture]
3333
public class ChecksumKindProviderTestFixture
3434
{
35+
[Test]
36+
public void Verify_that_on_Parse_when_value_is_null_then_ArgumentNullException_is_thrown()
37+
{
38+
Assert.That(() =>
39+
{
40+
ReadOnlySpan<char> value = null;
41+
ChecksumKindProvider.Parse(value);
42+
}, Throws.ArgumentNullException);
43+
44+
Assert.That(() =>
45+
{
46+
ReadOnlySpan<byte> value = null;
47+
ChecksumKindProvider.Parse(value);
48+
}, Throws.ArgumentNullException);
49+
}
50+
3551
[TestCase(ChecksumKind.SHA1, "SHA1")]
3652
[TestCase(ChecksumKind.SHA224, "SHA224")]
3753
[TestCase(ChecksumKind.SHA256, "SHA256")]

SysML2.NET.Kpar.Tests/ArchiveSessionTestFixture.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,12 @@ public void Verify_that_when_on_OpenModel_index_is_does_not_exist_exception_is_t
6565
{
6666
Assert.That(() =>this.archiveSession.OpenModel("starion"), Throws.TypeOf<KeyNotFoundException>());
6767
}
68+
69+
[Test]
70+
public void Verify_that_when_on_OpenEntry_path_is_null_or_whitespace_exception_is_thrown()
71+
{
72+
Assert.That(() =>this.archiveSession.OpenEntry(null), Throws.TypeOf<ArgumentException>());
73+
Assert.That(() =>this.archiveSession.OpenEntry(""), Throws.TypeOf<ArgumentException>());
74+
}
6875
}
6976
}

SysML2.NET.Kpar.Tests/ReaderTestFixture.cs

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
namespace SysML2.NET.Kpar.Tests
2222
{
2323
using System;
24+
using System.Collections.Generic;
2425
using System.IO;
2526
using System.Text;
2627
using System.Threading.Tasks;
@@ -66,14 +67,37 @@ public void SetUp()
6667
this.reader = new Reader(this.checksumService, this.loggerFactory.CreateLogger<Reader>());
6768
}
6869

70+
private static IEnumerable<string> NullOrEmptyPaths()
71+
{
72+
yield return null;
73+
yield return string.Empty;
74+
}
75+
6976
[Test]
70-
public void Verify_that_when_filepath_is_nullorempty_argument_exception_is_thrown()
77+
[TestCaseSource(nameof(NullOrEmptyPaths))]
78+
public void Verify_On_read_or_open_that_when_filepath_is_null_or_empty_argument_exception_is_thrown(string filePath)
7179
{
72-
string filePath = null;
7380
Assert.That(() => this.reader.Read(filePath), Throws.ArgumentException);
81+
82+
Assert.That(() => this.reader.Open(filePath), Throws.ArgumentException);
83+
84+
Assert.That(async () => await this.reader.ReadAsync(filePath), Throws.ArgumentException);
85+
86+
Assert.That(async () => await this.reader.OpenAsync(filePath), Throws.ArgumentException);
87+
}
7488

75-
filePath = "";
76-
Assert.That(() => this.reader.Read(filePath), Throws.ArgumentException);
89+
[Test]
90+
public void Verify_that_when_stream_is_null_ArgumentNullException_is_thrown()
91+
{
92+
Stream stream = null;
93+
94+
Assert.That(() => this.reader.Read(stream), Throws.ArgumentNullException);
95+
96+
Assert.That( async () => await this.reader.ReadAsync(stream), Throws.ArgumentNullException);
97+
98+
Assert.That(() => this.reader.Open(stream), Throws.ArgumentNullException);
99+
100+
Assert.That(async () => await this.reader.OpenAsync(stream), Throws.ArgumentNullException);
77101
}
78102

79103
[Test]

SysML2.NET.Serializer.Json.Tests/Data/.meta.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
},
2020
"created": "2025-03-13T00:00:00Z",
2121
"metamodel": "https://www.omg.org/spec/KerML/20250201",
22+
"includesDerived": false,
23+
"includesImplied": false,
2224
"checksum": {
2325
"Triggers.kerml": {
2426
"value": "124cad3625935e078d1363e6100ee12537ca9c51445a18108e056db8b4885609",

SysML2.NET.Serializer.Json.Tests/Data/.project.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
"name": "Kernel Semantic Library",
33
"description": "Standard semantic library for the Kernel Modeling Language (KerML)",
44
"version": "1.0.0",
5+
"license": "LGPL",
6+
"maintainer": ["OMG"],
7+
"website": "https://www.omg.org/spec/KerML",
8+
"topic": ["Kerml", "OMG"],
59
"usage": [
610
{
711
"resource": "https://www.omg.org/spec/KerML/20250201/Data-Type-Library.kpar",

SysML2.NET.Serializer.Json.Tests/ModelInterchange/InterchangeProjectDeSerializerTestFixture.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,13 @@ public void Verify_that_project_dot_json_file_can_be_deserialized()
5050
Assert.That(interchangeProject.Name, Is.EqualTo("Kernel Semantic Library"));
5151
Assert.That(interchangeProject.Description, Is.EqualTo("Standard semantic library for the Kernel Modeling Language (KerML)"));
5252
Assert.That(interchangeProject.Version, Is.EqualTo("1.0.0"));
53+
Assert.That(interchangeProject.License, Is.EqualTo("LGPL"));
54+
Assert.That(interchangeProject.Maintainer.Count, Is.EqualTo(1));
55+
Assert.That(interchangeProject.Maintainer[0], Is.EqualTo("OMG"));
56+
Assert.That(interchangeProject.Website, Is.EqualTo("https://www.omg.org/spec/KerML"));
57+
Assert.That(interchangeProject.Topic.Count, Is.EqualTo(2));
58+
Assert.That(interchangeProject.Topic[0], Is.EqualTo("Kerml"));
59+
Assert.That(interchangeProject.Topic[1], Is.EqualTo("OMG"));
5360
Assert.That(interchangeProject.Usage.Count, Is.EqualTo(2));
5461
Assert.That(interchangeProject.Usage[0].Resource, Is.EqualTo("https://www.omg.org/spec/KerML/20250201/Data-Type-Library.kpar"));
5562
Assert.That(interchangeProject.Usage[0].VersionConstraint, Is.EqualTo("1.0.0"));

SysML2.NET.Serializer.Json.Tests/ModelInterchange/InterchangeProjectMetadataDeSerializerTestFixture.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ public void Verify_that_meta_dot_json_file_can_be_deserialized()
5050
Assert.Multiple(() =>
5151
{
5252
Assert.That(interchangeProjectMetadata.Metamodel, Is.EqualTo("https://www.omg.org/spec/KerML/20250201"));
53-
54-
Assert.That(interchangeProjectMetadata.Created,
55-
Is.EqualTo(DateTimeOffset.Parse("2025-03-13T00:00:00Z", null, System.Globalization.DateTimeStyles.AssumeUniversal)));
56-
53+
Assert.That(interchangeProjectMetadata.Created, Is.EqualTo(DateTimeOffset.Parse("2025-03-13T00:00:00Z", null, System.Globalization.DateTimeStyles.AssumeUniversal)));
54+
Assert.That(interchangeProjectMetadata.IncludesDerived, Is.False);
55+
Assert.That(interchangeProjectMetadata.IncludesImplied, Is.False);
56+
5757
Assert.That(interchangeProjectMetadata.Index, Is.Not.Null);
5858
Assert.That(interchangeProjectMetadata.Checksum, Is.Not.Null);
5959

0 commit comments

Comments
 (0)