week 1 nunit

0.0(0)
studied byStudied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/27

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 8:12 AM on 12/3/25
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

28 Terms

1
New cards

Wat zijn de 6 stappen van de Software Engineering (SE) Loop

1. Processen & Requirements

2. Klassen & Methoden (Design)

3. Gedocumenteerd Codeskelet

4. Unit Testen (Red)

5. Implementatie (Green)

6. Refacto

2
New cards

Wat betekent SRP (Single Responsibility Principle)?

Een klasse mag maar één verantwoordelijkheid hebben (één reden om te veranderen). Scheid altijd UI (Console) van Logica (Berekeningen).

3
New cards

In welke klasse mag Console.WriteLine staan?

Alleen in Program.cs (of een specifieke UI-klasse). Nooit in domeinklassen zoals Garage, Student of BankAccount.

4
New cards

Wat is TDD en wat zijn de 3 fasen?

Test Driven Development.

1. Red: Schrijf een test die faalt.

2. Green: Schrijf minimale code om de test te laten slagen.

3. Refactor: Schoon de code op zonder functionaliteit te breken

5
New cards

Wat is het verschil tussen een Klasse en een Object?

Een Klasse is het recept (de definitie).

Een Object is de taart (de instantie in het geheugen, gemaakt met new).

6
New cards

Wat is "Technical Debt" (Technische Schuld)?

De "prijs" die je later betaalt omdat je nu voor een snelle, slordige oplossing kiest in plaats van een goede. Het maakt aanpassingen in de toekomst duurder en trager.

7
New cards

Wanneer voer je Refactoring uit?

In de derde fase van TDD (Blue/Refactor), nadat je test groen is. Je verandert de structuur van de code zonder de werking te veranderen.

8
New cards

Noem 3 kenmerken van "Clean Code".

1. Leesbaar (goede namen).

2. Klein (korte methodes).

3. Getest (Unit tests).

4. Zonder duplicatie (DRY).

9
New cards

Wat is een "Code Smell"?

Een signaal in de code dat er iets mis is met het ontwerp (bijv. een klasse die te veel doet, of code die gekopieerd is)

10
New cards

Waarom zijn Unit Tests belangrijk voor de toekomst?

Ze dienen als regressietesten. Ze zorgen ervoor dat nieuwe wijzigingen de oude code niet per ongeluk kapot maken.

11
New cards

Hoe lees je een getal in (Schoolmethode)?

int getal = Convert.ToInt32(Console.ReadLine());

12
New cards

Hoe gooi je een foutmelding als een waarde negatief is?

throw new ArgumentException("Mag niet negatief zijn");

13
New cards

Hoe ziet een lege Constructor eruit die een variabele initialiseert?

public Garage(int cap) { this.capacity = cap; }

14
New cards

Wat is de code om te checken of een lijst leeg is (Property)?

public bool IsEmpty() { return occupancy == 0; }

15
New cards

Waarvoor staat AAA in testen?

Arrange (klaarzetten), Act (uitvoeren), Assert (controleren).

16
New cards

Hoe test je of het resultaat 100 is?

Assert.That(result, Is.EqualTo(100));

17
New cards

Hoe test je of een methode true teruggeeft?

Assert.That(result, Is.True);

18
New cards

Hoe test je of de code crasht (Exception gooit)?

Assert.Throws<ArgumentException>(() => garage.Enter(auto));

19
New cards

Wat doet [SetUp]?

Voert code uit vóór elke test. Handig om je objecten (zoals new Garage()) te resetten voor elke test.

20
New cards

Wat doet [TestCase(5)]?

Hiermee kan je één testfunctie hergebruiken met verschillende invoerwaardes (bijv. 5, 10, 100)

21
New cards

Wat doe je in Stap 1 (Processen)?

Businessprocessen analyseren (begrijpen hoe het bedrijf werkt).

22
New cards

Wat doe je in Stap 2 (Requirements)?

Bepalen wat de input, processing en output is per activiteit. (Wat moet de software precies doen?)

23
New cards

Wat doe je in Stap 4 (Gedocumenteerd Codeskelet)?

Je maakt de klassen en methoden aan, maar laat ze leeg. Je schrijft er alleen commentaar bij (XML doc comments).

24
New cards

Wat is het verschil tussen de Models map en de Domain map?

Models: Bevat simpele data-objecten (bv. Student, Auto).

Domain: Bevat de logica en lijsten (bv. School, Garage).

25
New cards

Hoe maak je een variabele die alleen BINNEN de klasse zichtbaar is

private int _mijnVariabele;

26
New cards

Hoe ziet een Test Methode naam eruit volgens de conventie?

MethodName_ShouldResult_WhenCondition

Bijv: IsFull_ShouldReturnTrue_WhenGarageIsFull.

27
New cards

Hoe roep je een constructor aan in je test?

Garage g = new Garage(10);

28
New cards

Hoe converteer je input correct?

Convert.ToInt32(Console.ReadLine())