Skip to content

Commit

Permalink
[add] empty files tests
Browse files Browse the repository at this point in the history
[del] redundant checks
[add] exceptions messages
[r] to NUnit 4
[r] to new C# features
[deps] tests deps bump to latest
  • Loading branch information
i4004 committed May 25, 2024
1 parent a04b9cd commit a62dcf1
Show file tree
Hide file tree
Showing 28 changed files with 296 additions and 336 deletions.
20 changes: 10 additions & 10 deletions src/Simplify.Templates.Tests/Model/TemplateModelExtensionsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,33 +22,33 @@ public void Initialize()
public void Set_NullModel_ReplacesWithNothing()
{
// Act
_template.Model<TestModel>(null).Set();
_template.Model<TestModel>(null!).Set();

// Assert
Assert.AreEqual(" ", _template.Get());
Assert.That(_template.Get(), Is.EqualTo(" "));
}

[Test]
public void Set_NullModelWithWith_ReplacesWithNothing()
{
// Act
_template.Model<TestModel>(null).With(x => x.CreationTime, x => x.ToString("dd.MM.yyyy")).Set();
_template.Model<TestModel>(null!).With(x => x.CreationTime, x => x.ToString("dd.MM.yyyy")).Set();

// Assert
Assert.AreEqual(" ", _template.Get());
Assert.That(_template.Get(), Is.EqualTo(" "));
}

[Test]
public void Set_Model_SetCorrectly()
{
// Arrange
var model = new TestModel { CreationTime = new DateTime(2014, 10, 5), Name = "Foo", EMail = "Foo@example.com", ID = 5 };
var model = new TestModel { CreationTime = new DateTime(2014, 10, 5, 0, 0, 0, DateTimeKind.Local), Name = "Foo", EMail = "Foo@example.com", ID = 5 };

// Act
_template.Model(model).With(x => x.CreationTime, x => x.ToString("dd.MM.yyyy")).Set();

// Assert
Assert.AreEqual("5 Foo Foo@example.com 05.10.2014", _template.Get());
Assert.That(_template.Get(), Is.EqualTo("5 Foo Foo@example.com 05.10.2014"));
}

[Test]
Expand All @@ -66,7 +66,7 @@ public void Set_EverythingIsNull_SetCorrectly()
_template.Model(model).Set();

// Assert
Assert.AreEqual(" ", _template.Get());
Assert.That(_template.Get(), Is.EqualTo(" "));
}

[Test]
Expand All @@ -87,7 +87,7 @@ public void Add_TwoModels_DataCombined()
_template.Model(model2).Add();

// Assert
Assert.AreEqual("TestFoo test@test.comfoomail@test.com", _template.Get());
Assert.That(_template.Get(), Is.EqualTo("TestFoo test@test.comfoomail@test.com"));
}

[Test]
Expand All @@ -105,7 +105,7 @@ public void Set_ModelWithBaseClass_BaseClassFieldsAlsoSet()
_template.Model(model).Set();

// Assert
Assert.AreEqual("3 Hello!", _template.Get());
Assert.That(_template.Get(), Is.EqualTo("3 Hello!"));
}

[Test]
Expand All @@ -123,6 +123,6 @@ public void Set_ModelWithPrefix_PrefixAdded()
_template.Model(model, "Model").Set();

// Assert
Assert.AreEqual("3", _template.Get());
Assert.That(_template.Get(), Is.EqualTo("3"));
}
}
23 changes: 17 additions & 6 deletions src/Simplify.Templates.Tests/Simplify.Templates.Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,27 +1,35 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFrameworks>net6.0;net48</TargetFrameworks>
<LangVersion>latest</LangVersion>

<Authors>Alexander Krylkov</Authors>
<Product>Simplify</Product>
<Description>Simplify.Templates unit tests</Description>
<Copyright>Licensed under LGPL</Copyright>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.*" />
<PackageReference Include="NUnit" Version="3.13.*" />
<PackageReference Include="NUnit3TestAdapter" Version="4.3.*" />
<PackageReference Include="Moq" Version="4.18.*" />
<PackageReference Include="coverlet.msbuild" Version="3.2.*" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.*" />
<PackageReference Include="NUnit" Version="4.1.*" />
<PackageReference Include="NUnit3TestAdapter" Version="4.5.*" />
<PackageReference Include="Moq" Version="4.20.*" />
<PackageReference Include="coverlet.msbuild" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<ProjectReference Include="..\Simplify.Templates\Simplify.Templates.csproj" />
</ItemGroup>
<ItemGroup>
<None Remove="TestTemplates\Embedded\EmptyFIle.txt" />
<None Remove="TestTemplates\Embedded\LocalizationTest.tpl" />
<None Remove="TestTemplates\Embedded\LocalizationTest.tpl-en.xml" />
<None Remove="TestTemplates\Embedded\LocalizationTest.tpl-ru.xml" />
<None Remove="TestTemplates\Embedded\TestFile.txt" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="TestTemplates\Embedded\EmptyFIle.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="TestTemplates\Embedded\LocalizationTest.tpl">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</EmbeddedResource>
Expand All @@ -45,6 +53,9 @@
<None Update="TestTemplates\Local\LocalizationTest.tpl.ru.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="TestTemplates\Local\EmptyFIle.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="TestTemplates\Local\TestFile.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Expand Down
22 changes: 11 additions & 11 deletions src/Simplify.Templates.Tests/TemplateAddExtensionsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ public void Initialize()
public void Set_NullTemplate_Empty()
{
// Act
_tpl.Add(VariableName, (ITemplate)null);
_tpl.Add(VariableName, ((ITemplate)null)!);

// Assert
Assert.AreEqual("", _tpl.Get());
Assert.That(_tpl.Get(), Is.Empty);
}

[Test]
Expand All @@ -34,7 +34,7 @@ public void Set_Template_SetCorrectly()
_tpl.Add(VariableName, TemplateBuilder.FromString("a").Build());

// Assert
Assert.AreEqual("a", _tpl.Get());
Assert.That(_tpl.Get(), Is.EqualTo("a"));
}

[Test]
Expand All @@ -44,7 +44,7 @@ public void Set_NullObject_Empty()
_tpl.Add(VariableName, (object)null);

// Assert
Assert.AreEqual("", _tpl.Get());
Assert.That(_tpl.Get(), Is.Empty);
}

[Test]
Expand All @@ -54,7 +54,7 @@ public void Set_Object_ObjectClassName()
_tpl.Add(VariableName, new object());

// Assert
Assert.AreEqual("System.Object", _tpl.Get());
Assert.That(_tpl.Get(), Is.EqualTo("System.Object"));
}

[Test]
Expand All @@ -64,7 +64,7 @@ public void Set_Int_SetCorrectly()
_tpl.Add(VariableName, 17);

// Assert
Assert.AreEqual("17", _tpl.Get());
Assert.That(_tpl.Get(), Is.EqualTo("17"));
}

[Test]
Expand All @@ -76,7 +76,7 @@ public void Set_MultipleInt_AllSetCorrectly()
_tpl.Add(VariableName, 63);

// Assert
Assert.AreEqual("1763", _tpl.Get());
Assert.That(_tpl.Get(), Is.EqualTo("1763"));
}

[Test]
Expand All @@ -86,7 +86,7 @@ public void Set_Long_SetCorrectly()
_tpl.Add(VariableName, (long)16);

// Assert
Assert.AreEqual("16", _tpl.Get());
Assert.That(_tpl.Get(), Is.EqualTo("16"));
}

[Test]
Expand All @@ -96,16 +96,16 @@ public void Set_Decimal_SetCorrectly()
_tpl.Add(VariableName, 15.5m);

// Assert
Assert.AreEqual("15.5", _tpl.Get());
Assert.That(_tpl.Get(), Is.EqualTo("15.5"));
}

[Test]
public void Set_Double_SetCorrectly()
{
// Act
_tpl.Add(VariableName, 1123456789123.123);
_tpl.Add(VariableName, 1123456789123.12);

// Assert
Assert.AreEqual("1123456789123.123", _tpl.Get());
Assert.That(_tpl.Get(), Is.EqualTo("1123456789123.12"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ public class TemplateBuilderFileNotFoundTests
{
private const string FilePath = "NotFoundFile.txt";

private static readonly object[] _testCases =
{
private static readonly object[] TestCases =
[
(TestDelegate) (() => TemplateBuilder.FromFile(FilePath)),
(TestDelegate) (() => TemplateBuilder.FromLocalFile(FilePath)),
(TestDelegate) (() => TemplateBuilder.FromAssembly(FilePath, Assembly.GetExecutingAssembly())),
(TestDelegate) (() => TemplateBuilder.FromCurrentAssembly(FilePath))
};
];

[TestCaseSource(nameof(_testCases))]
[TestCaseSource(nameof(TestCases))]
public void FileNotExist_FileNotFoundException(TestDelegate templateBuilder)
{
// Act
Expand Down
10 changes: 5 additions & 5 deletions src/Simplify.Templates.Tests/TemplateBuilderFromStringTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ public class TemplateBuilderFromStringTests
public void FromString_NullString_TemplateGetEqual()
{
// Act
var ex = Assert.Throws<ArgumentNullException>(() => TemplateBuilder.FromString(null));
var ex = Assert.Throws<ArgumentNullException>(() => TemplateBuilder.FromString(null!));

// Assert
Assert.AreEqual("Value cannot be null. (Parameter 'text')", ex.Message);
Assert.That(ex!.Message, Does.Contain("Value cannot be null"));
}

[Test]
Expand All @@ -26,7 +26,7 @@ public void Build_FromString_TemplateContentIsCorrect()
.Build();

// Assert
Assert.AreEqual("test", tpl.Get());
Assert.That(tpl.Get(), Is.EqualTo("test"));
}

[Test]
Expand All @@ -38,7 +38,7 @@ public async Task BuildAsync_FromString_TemplateContentIsCorrect()
.BuildAsync();

// Assert
Assert.AreEqual("test", tpl.Get());
Assert.That(tpl.Get(), Is.EqualTo("test"));
}

[Test]
Expand All @@ -51,6 +51,6 @@ public void FromStringFixLineEndingsHtml_WithLineBreak_LineEndingReplacedWithBrs
.Build();

// Assert
Assert.AreEqual("test<br />test2", tpl.Get());
Assert.That(tpl.Get(), Is.EqualTo("test<br />test2"));
}
}
22 changes: 11 additions & 11 deletions src/Simplify.Templates.Tests/TemplateBuilderLocalizationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ public class TemplateBuilderLocalizationTests
private const string LocalTestFilePath = "TestTemplates/Local/LocalizationTest.tpl";
private const string EmbeddedTestFilePath = "TestTemplates/Embedded/LocalizationTest.tpl";

private static readonly object[] _testCases =
{
private static readonly object[] TestCases =
[
(TemplateBuilderDelegate) (() => TemplateBuilder.FromFile(FileUtil.ConstructFullFilePath(LocalTestFilePath))),
(TemplateBuilderDelegate) (() => TemplateBuilder.FromLocalFile(LocalTestFilePath)),
(TemplateBuilderDelegate) (() => TemplateBuilder.FromAssembly(EmbeddedTestFilePath, Assembly.GetExecutingAssembly())),
(TemplateBuilderDelegate) (() => TemplateBuilder.FromCurrentAssembly(EmbeddedTestFilePath))
};
];

[TestCaseSource(nameof(_testCases))]
[TestCaseSource(nameof(TestCases))]
public void Build_LocalizableDifferentFromBase_LocalizableLoadedWithBaseReplacements(TemplateBuilderDelegate templateBuilder)
{
// Arrange
Expand All @@ -32,10 +32,10 @@ public void Build_LocalizableDifferentFromBase_LocalizableLoadedWithBaseReplacem
.Build();

// Assert
Assert.AreEqual("текст1 text2", tpl.Get());
Assert.That(tpl.Get(), Is.EqualTo("текст1 text2"));
}

[TestCaseSource(nameof(_testCases))]
[TestCaseSource(nameof(TestCases))]
public async Task BuildAsync_LocalizableDifferentFromBase_LocalizableLoadedWithBaseReplacements(TemplateBuilderDelegate templateBuilder)
{
// Arrange
Expand All @@ -47,10 +47,10 @@ public async Task BuildAsync_LocalizableDifferentFromBase_LocalizableLoadedWithB
.BuildAsync();

// Assert
Assert.AreEqual("текст1 text2", tpl.Get());
Assert.That(tpl.Get(), Is.EqualTo("текст1 text2"));
}

[TestCaseSource(nameof(_testCases))]
[TestCaseSource(nameof(TestCases))]
public void Build_LocalizableFromCurrentThreadLanguageDifferentFromBase_LocalizableLoadedWithBaseReplacements(
TemplateBuilderDelegate templateBuilder)
{
Expand All @@ -65,10 +65,10 @@ public void Build_LocalizableFromCurrentThreadLanguageDifferentFromBase_Localiza
.Build();

// Assert
Assert.AreEqual("текст1 text2", tpl.Get());
Assert.That(tpl.Get(), Is.EqualTo("текст1 text2"));
}

[TestCaseSource(nameof(_testCases))]
[TestCaseSource(nameof(TestCases))]
public async Task BuildAsync_LocalizableFromCurrentThreadLanguageDifferentFromBase_LocalizableLoadedWithBaseReplacements(
TemplateBuilderDelegate templateBuilder)
{
Expand All @@ -83,6 +83,6 @@ public async Task BuildAsync_LocalizableFromCurrentThreadLanguageDifferentFromBa
.BuildAsync();

// Assert
Assert.AreEqual("текст1 text2", tpl.Get());
Assert.That(tpl.Get(), Is.EqualTo("текст1 text2"));
}
}
18 changes: 9 additions & 9 deletions src/Simplify.Templates.Tests/TemplateBuilderNullTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@ namespace Simplify.Templates.Tests;
[TestFixture]
public class TemplateBuilderNullTests
{
private static readonly object[] _testCases =
{
(TestDelegate) (() => TemplateBuilder.FromFile(null)),
(TestDelegate) (() => TemplateBuilder.FromLocalFile(null)),
(TestDelegate) (() => TemplateBuilder.FromAssembly(null, Assembly.GetExecutingAssembly())),
(TestDelegate) (() => TemplateBuilder.FromCurrentAssembly(null))
};
private static readonly object[] TestCases =
[
(TestDelegate) (() => TemplateBuilder.FromFile(null!)),
(TestDelegate) (() => TemplateBuilder.FromLocalFile(null!)),
(TestDelegate) (() => TemplateBuilder.FromAssembly(null!, Assembly.GetExecutingAssembly())),
(TestDelegate) (() => TemplateBuilder.FromCurrentAssembly(null!))
];

[TestCaseSource(nameof(_testCases))]
[TestCaseSource(nameof(TestCases))]
public void NullPath_ArgumentNullException(TestDelegate templateBuilder)
{
// Act
var ex = Assert.Throws<ArgumentException>(templateBuilder);

// Assert
Assert.AreEqual("Value cannot be null or empty. (Parameter 'filePath')", ex.Message);
Assert.That(ex!.Message, Does.Contain("Value cannot be null or empty."));
}
}
Loading

0 comments on commit a62dcf1

Please sign in to comment.