[4sem] isaip01 add unit tests
This commit is contained in:
parent
6d9a79be20
commit
451bc1bfdb
4 changed files with 127 additions and 0 deletions
|
|
@ -14,4 +14,16 @@
|
||||||
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.0" />
|
<PackageReference Include="Avalonia.Diagnostics" Version="0.10.0" />
|
||||||
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.0" />
|
<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<AvaloniaXaml Remove="PlayfairTests\**" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Remove="PlayfairTests\**" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Remove="PlayfairTests\**" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Remove="PlayfairTests\**" />
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlayfairCypher", "PlayfairCypher.csproj", "{5AAEBCD9-0ADD-4C76-B1B4-92569D82970B}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlayfairCypher", "PlayfairCypher.csproj", "{5AAEBCD9-0ADD-4C76-B1B4-92569D82970B}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlayfairTests", "PlayfairTests\PlayfairTests.csproj", "{68778671-2559-4828-9A21-13B6B67F2A9C}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
|
@ -12,5 +14,9 @@ Global
|
||||||
{5AAEBCD9-0ADD-4C76-B1B4-92569D82970B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{5AAEBCD9-0ADD-4C76-B1B4-92569D82970B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{5AAEBCD9-0ADD-4C76-B1B4-92569D82970B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{5AAEBCD9-0ADD-4C76-B1B4-92569D82970B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{5AAEBCD9-0ADD-4C76-B1B4-92569D82970B}.Release|Any CPU.Build.0 = Release|Any CPU
|
{5AAEBCD9-0ADD-4C76-B1B4-92569D82970B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{68778671-2559-4828-9A21-13B6B67F2A9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{68778671-2559-4828-9A21-13B6B67F2A9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{68778671-2559-4828-9A21-13B6B67F2A9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{68778671-2559-4828-9A21-13B6B67F2A9C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|
|
||||||
90
4sem/isaip/01/PlayfairCypher/PlayfairTests/CryptorTest.cs
Normal file
90
4sem/isaip/01/PlayfairCypher/PlayfairTests/CryptorTest.cs
Normal file
|
|
@ -0,0 +1,90 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using NUnit.Framework;
|
||||||
|
using PlayfairCypher.Models;
|
||||||
|
// ReSharper disable StringLiteralTypo
|
||||||
|
|
||||||
|
namespace PlayfairTests {
|
||||||
|
public class Tests {
|
||||||
|
PlayfairCrypto cryptor;
|
||||||
|
private List<Tuple<string, string, string, string>> data; // Tuple: keyword, text, encoded_text, decoded_text
|
||||||
|
|
||||||
|
[SetUp]
|
||||||
|
public void Setup() {
|
||||||
|
cryptor = new PlayfairCrypto();
|
||||||
|
|
||||||
|
data = new List<Tuple<string, string, string, string>> {
|
||||||
|
Tuple.Create("MOTHER", "DRILL", "RAKFIZ", "DRILLX"),
|
||||||
|
Tuple.Create("ABSOLUTE", "UNION", "TMQCPW", "UNIONX"),
|
||||||
|
Tuple.Create("FLY", "SIMILAR", "PNNKYBSW", "SIMILARX"),
|
||||||
|
Tuple.Create("LARGE", "VOLUME", "ZIEPOR", "VOLUME"),
|
||||||
|
Tuple.Create("DISCIPLINE", "BEDROOM", "LASORVUF", "BEDROXOM"),
|
||||||
|
Tuple.Create("ACUTE", "APPLIED", "COQKNAFW", "APPLIEDX"),
|
||||||
|
Tuple.Create("COTTON", "HESITATE", "KBQLNCEK", "HESITATE"),
|
||||||
|
Tuple.Create("PLANET", "EJECT", "AMAFCV", "EIECTX"),
|
||||||
|
Tuple.Create("HELP", "WARM", "ZESK", "WARM"),
|
||||||
|
Tuple.Create("SNIFF", "EXPERTISE", "DYTBTUFNDY", "EXPERTISEX"),
|
||||||
|
Tuple.Create("VIGOROUS", "REMEDY", "IKWMHT", "REMEDY"),
|
||||||
|
Tuple.Create("DISH", "RAINBOW", "USHLGKXY", "RAINBOWX"),
|
||||||
|
Tuple.Create("CANDIDATE", "EMPHASIS", "FKVPDQDU", "EMPHASIS"),
|
||||||
|
Tuple.Create("ARROW", "COPPER", "EAQVQDOV", "COPXPERX"),
|
||||||
|
Tuple.Create("SHINE", "ILLNESS", "CRMISHIV", "ILLNESSX"),
|
||||||
|
Tuple.Create("COUNCIL", "PROTEST", "QSIQDTRZ", "PROTESTX"),
|
||||||
|
Tuple.Create("FUNNY", "PROGRESSIVE", "QSSBXLRZPMXC", "PROGRESXSIVE"),
|
||||||
|
Tuple.Create("DRIFT", "RELIEF", "FBQCME", "RELIEF"),
|
||||||
|
Tuple.Create("DEMOCRATIC", "SMILE", "QOBKMW", "SMILEX"),
|
||||||
|
Tuple.Create("COLORFUL", "PETTY", "TAQZSZ", "PETXTY"),
|
||||||
|
Tuple.Create("INFRASTRUCTURE", "ADVOCATE", "NKXLERUS", "ADVOCATE"),
|
||||||
|
Tuple.Create("RADICAL", "MAINSTREAM", "KDFTTUDLDK", "MAINSTREAM"),
|
||||||
|
Tuple.Create("TALENTED", "PROGRAM", "QSUOQLKY", "PROGRAMX"),
|
||||||
|
Tuple.Create("FAN", "SALAD", "RNREGV", "SALADX"),
|
||||||
|
Tuple.Create("SOUR", "SCREAM", "OBEKST", "SCREAM"),
|
||||||
|
Tuple.Create("REWARD", "BLAME", "FIGSWV", "BLAMEX"),
|
||||||
|
Tuple.Create("DIFFERENCE", "RESIDENT", "DRQFIRBP", "RESIDENT"),
|
||||||
|
Tuple.Create("EXPANSION", "BIBLE", "COSRXP", "BIBLEX"),
|
||||||
|
Tuple.Create("EXTRACT", "EXPORT", "XTQPAR", "EXPORT"),
|
||||||
|
Tuple.Create("OVERLOOK", "FANTASY", "GKPNCPZY", "FANTASYX"),
|
||||||
|
Tuple.Create("MAZE", "HOPE", "OTSM", "HOPE"),
|
||||||
|
Tuple.Create("COMMENT", "PHOTOGRAPHY", "QGCACHQBQGZY", "PHOTOGRAPHYX"),
|
||||||
|
Tuple.Create("HARD", "DISCOVER", "BGPFKZFA", "DISCOVER"),
|
||||||
|
Tuple.Create("HOROSCOPE", "EXPERIENCED", "AWEAAQGWODAZ", "EXPERIENCEDX"),
|
||||||
|
Tuple.Create("CHARTER", "DEMONSTRATION", "FBISMUCTRCOVLZ", "DEMONSTRATIONX"),
|
||||||
|
Tuple.Create("ARM", "MAN", "BRLY", "MANX"),
|
||||||
|
Tuple.Create("CREW", "RELATIONSHIP", "EWNEONTITGKO", "RELATIONSHIP"),
|
||||||
|
Tuple.Create("MIXTURE", "RHYTHM", "BDTBDT", "RHYTHM"),
|
||||||
|
Tuple.Create("CLAY", "STUDY", "TPCIGY", "STUDYX"),
|
||||||
|
Tuple.Create("STATION", "POPULATION", "UTQMHOAOSE", "POPULATION"),
|
||||||
|
Tuple.Create("MILD", "PRAY", "KUDZ", "PRAY"),
|
||||||
|
Tuple.Create("PAT", "OVERLOOK", "VPFQIRQI", "OVERLOOK"),
|
||||||
|
Tuple.Create("STALL", "SPECULATE", "TOFDRBLAKA", "SPECULATEX"),
|
||||||
|
Tuple.Create("COMPUTER", "RULE", "BMWF", "RULE"),
|
||||||
|
Tuple.Create("BARK", "RECORDING", "AFHUBFLOFY", "RECORDINGX"),
|
||||||
|
Tuple.Create("LIABILITY", "ADOPTION", "DKPQLASG", "ADOPTION"),
|
||||||
|
Tuple.Create("SHADOW", "CONDITION", "FARSMPMHQU", "CONDITIONX"),
|
||||||
|
Tuple.Create("WISECRACK", "AISLE", "GAEHSY", "AISLEX"),
|
||||||
|
Tuple.Create("CONVULSION", "KNOT", "PCCW", "KNOT"),
|
||||||
|
Tuple.Create("DECAY", "RECOMMENDATION", "QCYMNWLCKAYSOTSA", "RECOMXMENDATIONX")
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void EncryptionTest() {
|
||||||
|
foreach (var tuple in data) {
|
||||||
|
Assert.AreEqual(
|
||||||
|
tuple.Item3,
|
||||||
|
cryptor.Encrypt(tuple.Item1, tuple.Item2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void DecryptionTest() {
|
||||||
|
foreach (var tuple in data) {
|
||||||
|
Assert.AreEqual(
|
||||||
|
tuple.Item4,
|
||||||
|
cryptor.Decrypt(tuple.Item1, tuple.Item3)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net5.0</TargetFramework>
|
||||||
|
|
||||||
|
<IsPackable>false</IsPackable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="NUnit" Version="3.12.0" />
|
||||||
|
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1" />
|
||||||
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\PlayfairCypher.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue