Skip to content

Commit 628fa7d

Browse files
[Improve] code coverage
1 parent 861aa74 commit 628fa7d

12 files changed

Lines changed: 1334 additions & 7 deletions

ReqIFSharp.Tests/AttributeDefinitionTests/AttributeDefinitionBooleanTestFixture.cs

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,13 @@ public void OneTimeSetUp()
5757
});
5858
}
5959

60+
[Test]
61+
public void Verify_that_constructor_does_not_throw_exception()
62+
{
63+
Assert.That(() => new AttributeDefinitionBoolean(null), Throws.Nothing);
64+
Assert.That(() => new AttributeDefinitionBoolean(this.loggerFactory), Throws.Nothing);
65+
}
66+
6067
[Test]
6168
public void Verify_That_The_AttributeDefinition_Can_Be_Set_Or_Get()
6269
{
@@ -170,5 +177,100 @@ public async Task Verify_that_WriteXmlAsync_does_not_throw_exception()
170177
var cancellationTokenSource = new CancellationTokenSource();
171178
Assert.That(async () => await attributeDefinitionBoolean.WriteXmlAsync(writer, cancellationTokenSource.Token), Throws.Nothing);
172179
}
180+
181+
[Test]
182+
public void Verify_that_ReadXml_sets_references_and_properties()
183+
{
184+
var xml = """
185+
<ATTRIBUTE-DEFINITION-BOOLEAN IDENTIFIER="_b6gNkAfhEeelU71CdMk83g" LAST-CHANGE="2017-03-13T12:37:26.006+01:00" LONG-NAME="Bool">
186+
<ALTERNATIVE-ID>
187+
<ALTERNATIVE-ID IDENTIFIER="_b6gNkAfhEeelU71CdMk83g"/>
188+
</ALTERNATIVE-ID>
189+
<DEFAULT-VALUE>
190+
<ATTRIBUTE-VALUE-BOOLEAN THE-VALUE="true"/>
191+
</DEFAULT-VALUE>
192+
<TYPE />
193+
</ATTRIBUTE-DEFINITION-BOOLEAN>
194+
""";
195+
196+
using var reader = XmlReader.Create(new StringReader(xml), new XmlReaderSettings { Async = true });
197+
reader.MoveToContent();
198+
199+
var content = new ReqIFContent(this.loggerFactory);
200+
var specificationType = new SpecificationType(content, this.loggerFactory);
201+
var attributeDefinitionBoolean = new AttributeDefinitionBoolean(specificationType, this.loggerFactory);
202+
203+
attributeDefinitionBoolean.ReadXml(reader);
204+
205+
using (Assert.EnterMultipleScope())
206+
{
207+
Assert.That(attributeDefinitionBoolean.Identifier, Is.EqualTo("_b6gNkAfhEeelU71CdMk83g"));
208+
Assert.That(attributeDefinitionBoolean.LongName, Is.EqualTo("Bool"));
209+
Assert.That(attributeDefinitionBoolean.AlternativeId.Identifier, Is.EqualTo("_b6gNkAfhEeelU71CdMk83g"));
210+
}
211+
}
212+
213+
[Test]
214+
public async Task Verify_that_ReadXmlAsync_sets_references_and_properties()
215+
{
216+
var xml = """
217+
<ATTRIBUTE-DEFINITION-BOOLEAN IDENTIFIER="_b6gNkAfhEeelU71CdMk83g" LAST-CHANGE="2017-03-13T12:37:26.006+01:00" LONG-NAME="Bool">
218+
<ALTERNATIVE-ID>
219+
<ALTERNATIVE-ID IDENTIFIER="_b6gNkAfhEeelU71CdMk83g"/>
220+
</ALTERNATIVE-ID>
221+
<DEFAULT-VALUE>
222+
<ATTRIBUTE-VALUE-BOOLEAN THE-VALUE="true"/>
223+
</DEFAULT-VALUE>
224+
<TYPE />
225+
</ATTRIBUTE-DEFINITION-BOOLEAN>
226+
""";
227+
228+
using var reader = XmlReader.Create(new StringReader(xml), new XmlReaderSettings { Async = true });
229+
await reader.MoveToContentAsync();
230+
231+
var content = new ReqIFContent(this.loggerFactory);
232+
var specificationType = new SpecificationType(content, this.loggerFactory);
233+
var attributeDefinitionBoolean = new AttributeDefinitionBoolean(specificationType, this.loggerFactory);
234+
235+
var cts = new CancellationTokenSource();
236+
237+
await attributeDefinitionBoolean.ReadXmlAsync(reader, cts.Token);
238+
239+
using (Assert.EnterMultipleScope())
240+
{
241+
Assert.That(attributeDefinitionBoolean.Identifier, Is.EqualTo("_b6gNkAfhEeelU71CdMk83g"));
242+
Assert.That(attributeDefinitionBoolean.LongName, Is.EqualTo("Bool"));
243+
Assert.That(attributeDefinitionBoolean.AlternativeId.Identifier, Is.EqualTo("_b6gNkAfhEeelU71CdMk83g"));
244+
}
245+
}
246+
247+
[Test]
248+
public async Task Verify_that_when_ReadXmlAsync_cancel_throws_OperationCanceledException()
249+
{
250+
var xml = """
251+
<ATTRIBUTE-DEFINITION-BOOLEAN IDENTIFIER="_b6gNkAfhEeelU71CdMk83g" LAST-CHANGE="2017-03-13T12:37:26.006+01:00" LONG-NAME="Bool">
252+
<ALTERNATIVE-ID>
253+
<ALTERNATIVE-ID IDENTIFIER="_b6gNkAfhEeelU71CdMk83g"/>
254+
</ALTERNATIVE-ID>
255+
<DEFAULT-VALUE>
256+
<ATTRIBUTE-VALUE-BOOLEAN THE-VALUE="true"/>
257+
</DEFAULT-VALUE>
258+
<TYPE />
259+
</ATTRIBUTE-DEFINITION-BOOLEAN>
260+
""";
261+
262+
using var reader = XmlReader.Create(new StringReader(xml), new XmlReaderSettings { Async = true });
263+
await reader.MoveToContentAsync();
264+
265+
var content = new ReqIFContent(this.loggerFactory);
266+
var specificationType = new SpecificationType(content, this.loggerFactory);
267+
var attributeDefinitionBoolean = new AttributeDefinitionBoolean(specificationType, this.loggerFactory);
268+
269+
var cts = new CancellationTokenSource();
270+
271+
await cts.CancelAsync();
272+
273+
await Assert.ThatAsync(() => attributeDefinitionBoolean.ReadXmlAsync(reader, cts.Token), Throws.InstanceOf<OperationCanceledException>());
274+
}
173275
}
174276
}

ReqIFSharp.Tests/AttributeDefinitionTests/AttributeDefinitionDateTestFixture.cs

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,43 @@ namespace ReqIFSharp.Tests
2727
using System.Threading.Tasks;
2828
using System.Xml;
2929

30+
using Microsoft.Extensions.Logging;
31+
3032
using NUnit.Framework;
3133

3234
using ReqIFSharp;
3335

36+
using Serilog;
37+
3438
/// <summary>
3539
/// Suite of tests for the <see cref="AttributeDefinitionDate"/>
3640
/// </summary>
3741
[TestFixture]
3842
public class AttributeDefinitionDateTestFixture
3943
{
44+
private ILoggerFactory loggerFactory;
45+
46+
[OneTimeSetUp]
47+
public void OneTimeSetUp()
48+
{
49+
Log.Logger = new LoggerConfiguration()
50+
.MinimumLevel.Verbose()
51+
.WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {SourceContext} - {Message:lj}{NewLine}{Exception}")
52+
.CreateLogger();
53+
54+
this.loggerFactory = LoggerFactory.Create(builder =>
55+
{
56+
builder.AddSerilog();
57+
});
58+
}
59+
60+
[Test]
61+
public void Verify_that_constructor_does_not_throw_exception()
62+
{
63+
Assert.That(() => new AttributeDefinitionDate(null), Throws.Nothing);
64+
Assert.That(() => new AttributeDefinitionDate(this.loggerFactory), Throws.Nothing);
65+
}
66+
4067
[Test]
4168
public void Verify_That_The_Attribute_Definition_Can_Be_Set_Or_Get()
4269
{
@@ -153,5 +180,100 @@ public async Task Verify_that_WriteXmlAsync_does_not_throw_exception()
153180
Assert.That(async () => await attributeDefinitionDate.WriteXmlAsync(writer, cancellationTokenSource.Token),
154181
Throws.Nothing);
155182
}
183+
184+
[Test]
185+
public void Verify_that_ReadXml_sets_references_and_properties()
186+
{
187+
var xml = """
188+
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_eULasAfhEeelU71CdMk83g" LAST-CHANGE="2017-03-13T12:37:41.309+01:00" LONG-NAME="Date">
189+
<ALTERNATIVE-ID>
190+
<ALTERNATIVE-ID IDENTIFIER="_eULasAfhEeelU71CdMk83g"/>
191+
</ALTERNATIVE-ID>
192+
<DEFAULT-VALUE>
193+
<ATTRIBUTE-VALUE-DATE THE-VALUE="1976-08-20T12:00:00.000+01:00"/>
194+
</DEFAULT-VALUE>
195+
<TYPE />
196+
</ATTRIBUTE-DEFINITION-DATE>
197+
""";
198+
199+
using var reader = XmlReader.Create(new StringReader(xml), new XmlReaderSettings { Async = true });
200+
reader.MoveToContent();
201+
202+
var content = new ReqIFContent(this.loggerFactory);
203+
var specificationType = new SpecificationType(content, this.loggerFactory);
204+
var attributeDefinitionDate = new AttributeDefinitionDate(specificationType, this.loggerFactory);
205+
206+
attributeDefinitionDate.ReadXml(reader);
207+
208+
using (Assert.EnterMultipleScope())
209+
{
210+
Assert.That(attributeDefinitionDate.Identifier, Is.EqualTo("_eULasAfhEeelU71CdMk83g"));
211+
Assert.That(attributeDefinitionDate.LongName, Is.EqualTo("Date"));
212+
Assert.That(attributeDefinitionDate.AlternativeId.Identifier, Is.EqualTo("_eULasAfhEeelU71CdMk83g"));
213+
}
214+
}
215+
216+
[Test]
217+
public async Task Verify_that_ReadXmlAsync_sets_references_and_properties()
218+
{
219+
var xml = """
220+
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_eULasAfhEeelU71CdMk83g" LAST-CHANGE="2017-03-13T12:37:41.309+01:00" LONG-NAME="Date">
221+
<ALTERNATIVE-ID>
222+
<ALTERNATIVE-ID IDENTIFIER="_eULasAfhEeelU71CdMk83g"/>
223+
</ALTERNATIVE-ID>
224+
<DEFAULT-VALUE>
225+
<ATTRIBUTE-VALUE-DATE THE-VALUE="1976-08-20T12:00:00.000+01:00"/>
226+
</DEFAULT-VALUE>
227+
<TYPE />
228+
</ATTRIBUTE-DEFINITION-DATE>
229+
""";
230+
231+
using var reader = XmlReader.Create(new StringReader(xml), new XmlReaderSettings { Async = true });
232+
await reader.MoveToContentAsync();
233+
234+
var content = new ReqIFContent(this.loggerFactory);
235+
var specificationType = new SpecificationType(content, this.loggerFactory);
236+
var attributeDefinitionDate = new AttributeDefinitionDate(specificationType, this.loggerFactory);
237+
238+
var cts = new CancellationTokenSource();
239+
240+
await attributeDefinitionDate.ReadXmlAsync(reader, cts.Token);
241+
242+
using (Assert.EnterMultipleScope())
243+
{
244+
Assert.That(attributeDefinitionDate.Identifier, Is.EqualTo("_eULasAfhEeelU71CdMk83g"));
245+
Assert.That(attributeDefinitionDate.LongName, Is.EqualTo("Date"));
246+
Assert.That(attributeDefinitionDate.AlternativeId.Identifier, Is.EqualTo("_eULasAfhEeelU71CdMk83g"));
247+
}
248+
}
249+
250+
[Test]
251+
public async Task Verify_that_when_ReadXmlAsync_cancel_throws_OperationCanceledException()
252+
{
253+
var xml = """
254+
<ATTRIBUTE-DEFINITION-DATE IDENTIFIER="_eULasAfhEeelU71CdMk83g" LAST-CHANGE="2017-03-13T12:37:41.309+01:00" LONG-NAME="Date">
255+
<ALTERNATIVE-ID>
256+
<ALTERNATIVE-ID IDENTIFIER="_eULasAfhEeelU71CdMk83g"/>
257+
</ALTERNATIVE-ID>
258+
<DEFAULT-VALUE>
259+
<ATTRIBUTE-VALUE-DATE THE-VALUE="1976-08-20T12:00:00.000+01:00"/>
260+
</DEFAULT-VALUE>
261+
<TYPE />
262+
</ATTRIBUTE-DEFINITION-DATE>
263+
""";
264+
265+
using var reader = XmlReader.Create(new StringReader(xml), new XmlReaderSettings { Async = true });
266+
await reader.MoveToContentAsync();
267+
268+
var content = new ReqIFContent(this.loggerFactory);
269+
var specificationType = new SpecificationType(content, this.loggerFactory);
270+
var attributeDefinitionDate = new AttributeDefinitionDate(specificationType, this.loggerFactory);
271+
272+
var cts = new CancellationTokenSource();
273+
274+
await cts.CancelAsync();
275+
276+
await Assert.ThatAsync(() => attributeDefinitionDate.ReadXmlAsync(reader, cts.Token), Throws.InstanceOf<OperationCanceledException>());
277+
}
156278
}
157279
}

0 commit comments

Comments
 (0)