litt unit testing
This commit is contained in:
parent
c00065c1bc
commit
3cbfff200e
11
Emne 3/UnitTesting/UnitTesting.Test/UnitTest1.cs
Normal file
11
Emne 3/UnitTesting/UnitTesting.Test/UnitTest1.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
namespace UnitTesting.Test;
|
||||
|
||||
public class StatsTest
|
||||
{
|
||||
[Test]
|
||||
public void TestWith3And4()
|
||||
{
|
||||
var stats = new Stats();
|
||||
Assert.Pass();
|
||||
}
|
||||
}
|
28
Emne 3/UnitTesting/UnitTesting.Test/UnitTesting.Test.csproj
Normal file
28
Emne 3/UnitTesting/UnitTesting.Test/UnitTesting.Test.csproj
Normal file
|
@ -0,0 +1,28 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.0"/>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0"/>
|
||||
<PackageReference Include="NUnit" Version="3.14.0"/>
|
||||
<PackageReference Include="NUnit.Analyzers" Version="3.9.0"/>
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Using Include="NUnit.Framework"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\UnitTesting\UnitTesting.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
22
Emne 3/UnitTesting/UnitTesting.sln
Normal file
22
Emne 3/UnitTesting/UnitTesting.sln
Normal file
|
@ -0,0 +1,22 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting", "UnitTesting\UnitTesting.csproj", "{DB18A478-4E45-453D-9AB4-64D1DE10828D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnitTesting.Test", "UnitTesting.Test\UnitTesting.Test.csproj", "{0EE8BB76-7CF5-49F1-808D-5684B28D482A}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{DB18A478-4E45-453D-9AB4-64D1DE10828D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DB18A478-4E45-453D-9AB4-64D1DE10828D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DB18A478-4E45-453D-9AB4-64D1DE10828D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DB18A478-4E45-453D-9AB4-64D1DE10828D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0EE8BB76-7CF5-49F1-808D-5684B28D482A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0EE8BB76-7CF5-49F1-808D-5684B28D482A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0EE8BB76-7CF5-49F1-808D-5684B28D482A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0EE8BB76-7CF5-49F1-808D-5684B28D482A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
EndGlobal
|
22
Emne 3/UnitTesting/UnitTesting/Program.cs
Normal file
22
Emne 3/UnitTesting/UnitTesting/Program.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using System;
|
||||
|
||||
namespace UnitTesting
|
||||
{
|
||||
internal class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
var stats = new Stats();
|
||||
|
||||
while (true)
|
||||
{
|
||||
Console.WriteLine("Please enter a number:");
|
||||
var numberStr = Console.ReadLine();
|
||||
var number = Convert.ToInt32(numberStr);
|
||||
stats.Add(number);
|
||||
Console.WriteLine(stats.GetDescription());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
48
Emne 3/UnitTesting/UnitTesting/Stats.cs
Normal file
48
Emne 3/UnitTesting/UnitTesting/Stats.cs
Normal file
|
@ -0,0 +1,48 @@
|
|||
using System.Security;
|
||||
|
||||
namespace UnitTesting;
|
||||
|
||||
public class Stats
|
||||
{
|
||||
public int Count {get; private set;}
|
||||
public int Sum {get; private set;}
|
||||
public int Max {get; private set;}
|
||||
public int Min {get; private set;}
|
||||
public float Mean => (float)Sum / Count;
|
||||
|
||||
public void Add(int number)
|
||||
{
|
||||
if (Max == -1 || number > Max) Max = number;
|
||||
if (Min == -1 || number < Min) Min = number;
|
||||
Count++;
|
||||
Sum += number;
|
||||
}
|
||||
|
||||
public string GetDescription()
|
||||
{
|
||||
return
|
||||
Format("Antall tall", Count) +
|
||||
Format("Sum", Sum) +
|
||||
Format("Max", Max) +
|
||||
Format("Min", Min) +
|
||||
Format("Gjennomsnitt", Mean);
|
||||
|
||||
}
|
||||
|
||||
private static string Format(string label, float number)
|
||||
{
|
||||
return FormatImpl(label, number.ToString("####.##"));
|
||||
}
|
||||
|
||||
private static string Format(string label, int number)
|
||||
{
|
||||
return FormatImpl(label, number.ToString("####"));
|
||||
}
|
||||
|
||||
private static string FormatImpl(string label, string number)
|
||||
{
|
||||
return label.PadRight(12, ' ') + ": " + number + '\n';
|
||||
}
|
||||
|
||||
|
||||
}
|
10
Emne 3/UnitTesting/UnitTesting/UnitTesting.csproj
Normal file
10
Emne 3/UnitTesting/UnitTesting/UnitTesting.csproj
Normal file
|
@ -0,0 +1,10 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
Loading…
Reference in a new issue