Add loops and unit tests

This commit is contained in:
2025-08-05 12:06:47 +02:00
parent 36050dbce3
commit 5bebb4be3c
2 changed files with 299 additions and 1 deletions

View File

@@ -0,0 +1,99 @@
using static BasicProgramming.Program;
namespace BasicProgrammingUnitTest;
public class BasicProgramming__LOOPS
{
[Fact]
public void MultiplicationTable_TEST()
{
var expected = new List<List<int>>
{
new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 },
new List<int> { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 },
new List<int> { 3, 6, 9, 12, 15, 18, 21, 24, 27, 30 },
new List<int> { 4, 8, 12, 16, 20, 24, 28, 32, 36, 40 },
new List<int> { 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 },
new List<int> { 6, 12, 18, 24, 30, 36, 42, 48, 54, 60 },
new List<int> { 7, 14, 21, 28, 35, 42, 49, 56, 63, 70 },
new List<int> { 8, 16, 24, 32, 40, 48, 56, 64, 72, 80 },
new List<int> { 9, 18, 27, 36, 45, 54, 63, 72, 81, 90 },
new List<int> { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 }
};
Assert.Equal(expected, MultiplicationTable(10, 10));
}
[Fact]
public void TheBiggestNumber_TEST()
{
Assert.Equal(291, TheBiggestNumber([190, 291, 145, 209, 280, 200]));
Assert.Equal(-2, TheBiggestNumber([-9, -2, -7, -8, -4]));
}
[Fact]
public void Two7sNextToEachOther_TEST()
{
Assert.Equal(1, Two7sNextToEachOther([8, 2, 5, 7, 9, 0, 7, 7, 3, 1]));
Assert.Equal(3, Two7sNextToEachOther([9, 4, 5, 3, 7, 7, 7, 3, 2, 5, 7, 7]));
}
[Fact]
public void ThreeIncreasingAdjacent_TEST()
{
Assert.True(ThreeIncreasingAdjacent([45, 23, 44, 68, 65, 70, 80, 81, 82]));
Assert.False(ThreeIncreasingAdjacent([7, 3, 5, 8, 9, 3, 1, 4]));
}
[Fact]
public void SieveOfEratosthenes_TEST()
{
Assert.Equal([2, 3, 5, 7, 11, 13, 17, 19, 23, 29], SieveOfEratosthenes(30));
}
[Fact]
public void ExtractString_TEST()
{
Assert.Equal("abc", ExtractString("##abc##def"));
Assert.Equal(string.Empty, ExtractString("12####78"));
Assert.Equal(string.Empty, ExtractString("gar##d#en"));
Assert.Equal("--", ExtractString("++##--##++"));
}
[Fact]
public void FullSequenceOfLetters_TEST()
{
Assert.Equal("defghijklmnopqrs", FullSequenceOfLetters("ds"));
Assert.Equal("opqr", FullSequenceOfLetters("or"));
}
[Fact]
public void SumAndAverage_TEST()
{
Assert.Equal("Sum: 2156, Average: 38,5", SumAndAverage(11, 66));
Assert.Equal("Sum: -55, Average: -5", SumAndAverage(-10, 0));
}
[Fact]
public void DrawTriangle_TEST()
{
Assert.Equal(
@" *
***
*****
*******
*********
***********
*************
***************
*****************
*******************", DrawTriangle(10));
}
[Fact]
public void ToThePowerOf_TEST()
{
Assert.Equal(-8, ToThePowerOf(-2, 3));
Assert.Equal(3125, ToThePowerOf(5, 5));
}
}