Skip to content

Commit

Permalink
add more unit tests and code coverage badge
Browse files Browse the repository at this point in the history
  • Loading branch information
eddami committed Jan 22, 2024
1 parent 61c07e0 commit ebdbfe1
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 1 deletion.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/eddami/XmlTvSharp/blob/main/LICENSE)
[![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/XmlTvSharp)](https://www.nuget.org/packages/XmlTvSharp)
[![Nuget](https://img.shields.io/nuget/dt/XmlTvSharp)](https://www.nuget.org/packages/XmlTvSharp)
[![Coverage Status](https://coveralls.io/repos/github/eddami/XmlTvSharp/badge.svg?branch=main)](https://coveralls.io/github/eddami/XmlTvSharp?branch=main)

# XmlTvSharp

Expand Down
2 changes: 1 addition & 1 deletion src/XmlTvSharp.Tests/Data/epg.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<channel id="channel2">
<display-name lang="en">Channel 2</display-name>
<icon src="channel2_icon.png" height="50" width="50"/>
<icon src="" height="50" width="50"/>
<url system="xmltv">http://example.com/channel2</url>
</channel>

Expand Down
56 changes: 56 additions & 0 deletions src/XmlTvSharp.Tests/UnitTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,62 @@ public async Task ReadAsync_ValidXmlTvFile_ParsesSuccessfully()

Assert.Null(nullElement);
}

[Fact]
public async Task ReadAsync_ValidXmlTvContentFromStringReader_ParsesSuccessfully()
{
// Arrange
const string xmlFilePath = "./Data/epg.xml";
var xmlContent = await File.ReadAllTextAsync(xmlFilePath);
var stringReader = new StringReader(xmlContent);
using var reader = new XmlTvReader(stringReader);

// Act
var channel = await reader.ReadAsync();

await reader.ReadAsync();
var programme = await reader.ReadAsync();

await reader.ReadAsync();
var nullElement = await reader.ReadAsync();

// Assert
Assert.IsType<XmlTvChannel>(channel);
AssertValidXmlTvChannel((XmlTvChannel)channel);

Assert.IsType<XmlTvProgramme>(programme);
AssertValidXmlTvProgramme((XmlTvProgramme)programme);

Assert.Null(nullElement);
}

[Fact]
public async Task ReadAsync_ValidXmlTvContentFromStream_ParsesSuccessfully()
{
// Arrange
const string xmlFilePath = "./Data/epg.xml";
var xmlContent = await File.ReadAllTextAsync(xmlFilePath);
var stream = new MemoryStream(Encoding.UTF8.GetBytes(xmlContent));
using var reader = new XmlTvReader(stream);

// Act
var channel = await reader.ReadAsync();

await reader.ReadAsync();
var programme = await reader.ReadAsync();

await reader.ReadAsync();
var nullElement = await reader.ReadAsync();

// Assert
Assert.IsType<XmlTvChannel>(channel);
AssertValidXmlTvChannel((XmlTvChannel)channel);

Assert.IsType<XmlTvProgramme>(programme);
AssertValidXmlTvProgramme((XmlTvProgramme)programme);

Assert.Null(nullElement);
}

[Fact]
public async Task ReadAllAsync_IgnoreChannels_ValidXmlTvFile_ParsesSuccessfully()
Expand Down

0 comments on commit ebdbfe1

Please sign in to comment.