This solution contains two projects:
- A C# class library project called
Skottår Kalkylator
- A NUnit test project called
Skottår Test
medKalkylatorTests.cs
Båda använder net7.0
- Gör ett steg/krav i taget.
- Försök att inte läsa framåt.
- Meningen är att lära sig att arbeta stegvis.
- Testa först!
- Skriv ett failing test
- Skriv lagom mycket kod för att den ska passera
- Refaktorera
- Upprepa igen
Implementera ÄrSkottår()
-funktionen i klassen År
, så att den returnerar true
eller false
beroende på om dess inmatade heltal är ett skottår eller inte.
Alla år delbara med 400 ÄR skottår (så till exempel var 2000 verkligen ett skottår)
Alla år som är delbara med 100 men inte med 400 är INTE skottår (så till exempel 1700, 1800 och 1900 var INTE skottår, inte heller kommer 2100 att vara ett skottår)
Alla år delbara med 4 men inte med 100 ÄR skottår (t.ex. 2008, 2012, 2016)
Alla år som inte är delbara med 4 är INTE skottår (t.ex. 2017, 2018, 2019)
Skriv en funktion FåDagNummer()
som tar ett datum som ett argument och returnerar dagen på året. t.ex.:
- 1 januari 2023 --> returnerar 1
- 31 december 2022 --> returnerar 365
- 1 mars 2023 --> returnerar 60
- 1 mars 2020 --> returnerar 61
Skriv en funktion FåVeckaNummer()
som tar ett datum som ett argument och returnerar kalenderveckan, t.ex.:
- 29 mars 2023 --> returnerar vecka 13
Skriv en funktion FåVeckoDag()
som tar ett datum som ett argument och returnerar veckodagen, t.ex.:
- 29 mars 2023 --> returnerar Onsdag
Use the following naming convention:
När[MethodUnderTest][Scenario]_[Då]_[Förväntat resultat]
Använd 3 A:
public void IsAdult_AgeIs18_ReturnsTrue()
{
// Arrange
var user = new User(18);
// Act
var result = user.IsAdult();
// Assert
Assert.That(result, Is.True);
}