KROK 1 – Tworzymy aplikację konsolową
- Otwórz Visual Studio 2022
- Wybierz Nowy projekt → Aplikacja konsolowa (.NET)
- Nazwij ją SitoApp, kliknij „Utwórz”
Program.cs – kod uruchamiający aplikację
using System;
class Program
{
static void Main()
{
Console.Write("Podaj górny zakres (np. 100): ");
if (int.TryParse(Console.ReadLine(), out int zakres))
{
var sito = new Sito();
var liczbyPierwsze = sito.WyznaczPierwsze(zakres);
Console.WriteLine("Liczby pierwsze:");
Console.WriteLine(string.Join(", ", liczbyPierwsze));
}
else
{
Console.WriteLine("Niepoprawna liczba.");
}
Console.ReadKey();
}
}
Sito.cs – logika algorytmu Eratostenesa
using System.Collections.Generic;
public class Sito
{
public List<int> WyznaczPierwsze(int n)
{
var pierwsze = new List<int>();
if (n < 2) return pierwsze;
bool[] sito = new bool[n + 1]; // false = potencjalnie pierwsza
for (int i = 2; i <= n; i++)
{
if (!sito[i])
{
pierwsze.Add(i);
for (int j = i * 2; j <= n; j += i)
{
sito[j] = true; // oznacz jako niepierwsza
}
}
}
return pierwsze;
}
}
KROK 2 – Dodajemy projekt testowy
- W Visual Studio: kliknij prawym przyciskiem na rozwiązanie → Dodaj → Nowy projekt
- Wybierz Projekt testowy MSTest (.NET)
- Nazwij go SitoApp.Tests
- Kliknij „Utwórz”
KROK 3 – Dodaj odwołanie do SitoAppw projekcie testowym
- Kliknij prawym na SitoApp.Tests → Dodaj → Odwołanie…
- Zaznacz SitoApp → OK
SitoTests.cs – testy jednostkowe
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
namespace SitoApp.Tests
{
[TestClass]
public class SitoTests
{
[TestMethod]
public void WyznaczPierwsze_Do10_ZwracaPoprawne()
{
// Arrange
var sito = new Sito();
var oczekiwane = new List<int> { 2, 3, 5, 7 };
// Act
var wynik = sito.WyznaczPierwsze(10);
// Assert
CollectionAssert.AreEqual(oczekiwane, wynik);
}
[TestMethod]
public void WyznaczPierwsze_DlaZera_ZwracaPustaListe()
{
var sito = new Sito();
var wynik = sito.WyznaczPierwsze(0);
Assert.AreEqual(0, wynik.Count);
}
[TestMethod]
public void WyznaczPierwsze_DlaLiczbyMniejszejNiz2_ZwracaPustaListe()
{
var sito = new Sito();
var wynik = sito.WyznaczPierwsze(1);
Assert.AreEqual(0, wynik.Count);
}
}
}
KROK 4 – Uruchomienie testów
- Otwórz menu Test → Uruchom wszystkie testy
- Zobaczysz zielone ✔️ przy testach, jeśli wszystko działa
- Zmień coś w algorytmie i sprawdź, czy testy wykryją błąd