Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 81391c5d authored by David AMO GONZALEZ's avatar David AMO GONZALEZ
Browse files

Add unit tests project for VectoCommon

parent 716f3631
No related branches found
No related tags found
No related merge requests found
......@@ -103,6 +103,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VectoMockup", "VectoMockup"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VectoMockupTest", "VectoMockup\VectoMockupTest\VectoMockupTest.csproj", "{EC0D4019-BBE6-431C-90E1-BD4AAEC0BF88}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VectoCommonTests", "VectoCommon\VectoCommonTests\VectoCommonTests.csproj", "{57FB17D2-F715-4FDF-9BC1-0820D36D5650}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -393,6 +395,18 @@ Global
{EC0D4019-BBE6-431C-90E1-BD4AAEC0BF88}.MockupRelease|Any CPU.ActiveCfg = Release|Any CPU
{EC0D4019-BBE6-431C-90E1-BD4AAEC0BF88}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC0D4019-BBE6-431C-90E1-BD4AAEC0BF88}.Release|Any CPU.Build.0 = Release|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.Debug|Any CPU.Build.0 = Debug|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.Deploy|Any CPU.ActiveCfg = Debug|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.Deploy|Any CPU.Build.0 = Debug|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.MockupDebug|Any CPU.ActiveCfg = Debug|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.MockupDebug|Any CPU.Build.0 = Debug|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.MockupDeploy|Any CPU.ActiveCfg = Debug|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.MockupDeploy|Any CPU.Build.0 = Debug|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.MockupRelease|Any CPU.ActiveCfg = Release|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.MockupRelease|Any CPU.Build.0 = Release|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.Release|Any CPU.ActiveCfg = Release|Any CPU
{57FB17D2-F715-4FDF-9BC1-0820D36D5650}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -416,6 +430,7 @@ Global
{4977BE2A-CB80-4FC0-8D1A-30EC094011B4} = {351FF7E8-B56B-445E-8E98-A61E07C990DA}
{D78AD145-DD1F-45E7-89DA-4BF58F8F2D3E} = {351FF7E8-B56B-445E-8E98-A61E07C990DA}
{EC0D4019-BBE6-431C-90E1-BD4AAEC0BF88} = {927F1B17-8075-4185-A324-92971D2FB020}
{57FB17D2-F715-4FDF-9BC1-0820D36D5650} = {73A5BF70-6168-456F-95E5-A1402BFA488C}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B38F3172-132E-43F7-9C4B-5FDC3A28C051}
......
namespace VectoCommonTests
{
using NUnit.Framework;
using System;
using System.Collections.Generic;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Utils;
public class EnumerableExtensionMethodsTest
{
[Test]
[TestCase(1, 2, 3, 4, 4)]
[TestCase(1, 2, 3, -1, 3)]
[TestCase(-1, -2, -3, -4, -1)]
public void MaxBy_Returns_MaxValue(int value1, int value2, int value3, int value4, double result)
{
List<int> sut = new List<int>() { value1, value2, value3, value4 };
Assert.That(sut.MaxBy(x => x), Is.EqualTo(result));
}
[Test]
public void MaxBy_Returns_Null_WhenCollection_Empty()
{
List<HybridResultEntry> sut = new List<HybridResultEntry>();
var result = sut.MaxBy(x => x.U);
Assert.IsNull(result);
}
[Test]
public void MaxBy_Throws_InvalidOperationException_WhenCollectionDefaultNotNull()
{
Dictionary<int, HybridResultEntry> sut = new Dictionary<int, HybridResultEntry>();
Assert.Throws<InvalidOperationException>(() => sut.MaxBy(x => x.Value.Cost));
}
[Test]
public void MinBy_Returns_Null_WhenCollection_Empty()
{
List<HybridResultEntry> sut = new List<HybridResultEntry>();
var result = sut.MinBy(x => x.U);
Assert.IsNull(result);
}
[Test]
public void MinBy_Throws_InvalidOperationException_WhenCollectionDefaultNotNull()
{
Dictionary<int, HybridResultEntry> sut = new Dictionary<int, HybridResultEntry>();
Assert.Throws<InvalidOperationException>(() => sut.MinBy(x => x.Value.Cost));
}
[Test]
public void MinBy_Returns_MinValue()
{
List<int> sut = new List<int>() { 1, 2, 3, -1 };
Assert.That(sut.MinBy(x => x), Is.EqualTo(-1));
sut = new List<int>() { -1, -2, -3, -4 };
Assert.That(sut.MinBy(x => x), Is.EqualTo(-4));
sut = new List<int>() { 1, 2, 3, 4 };
Assert.That(sut.MinBy(x => x), Is.EqualTo(1));
}
[Test]
[TestCase(1, 2, 3, 4, 1)]
[TestCase(1, 2, 3, -1, -1)]
[TestCase(-1, -2, -3, -4, -4)]
public void MinBy_Returns_MinValue_HybridResult(int value1, int value2, int value3, int value4, double result)
{
List<int> sut = new List<int>() { value1, value2, value3, value4 };
Assert.That(sut.MinBy(x => x), Is.EqualTo(result));
}
}
}
\ No newline at end of file
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net48;net6.0</TargetFrameworks>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
<PackageReference Include="NUnit.Analyzers" Version="3.3.0" />
<PackageReference Include="coverlet.collector" Version="3.1.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\VectoCommon\VectoCommon.csproj" />
</ItemGroup>
</Project>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment