GithubHelp home page GithubHelp logo

tdd-ovning-2's Introduction

Innan du börjar

  • Försök att inte läsa framåt.
  • Gör ett steg/krav i taget. Meningen är att lära sig att arbeta stegvis.
  • Testa först!

Trängselskatt i Gbg

Trängselskatt tas ut under fastställda tider för fordon som kör in Göteborgs centrum. Under de timmar då trängselskatt tas ut, fordon registreras automatiskt på betalstationer.

Din uppgift

Skriv ett program som beräknar kostnaden för en given uppsättning kommaseparerade datum och tider då en bil passerar genom betalstationer under en dag. Baserat på detta ska den skriva ut den totala kostnaden till terminalen.

TDD funkar på så sätt att du måste stegvis hitta lösningen och skriva tester till problem som växer i komplexitet med varje kommande funktionalitet eller krav.


STEG/KRAV 1. Implementera funktionen "RäknaTotalBelopp" som tar en sträng som innehåller datum och tid och skriver ut rätt belopp för trängselavgift till terminalen baserat på tabellen nedan:

Interval Belopp
06:00–06:29 8 kr
06:30–06:59 13 kr
07:00–07:59 18 kr
08:00–08:29 13 kr
08:30–14:59 8 kr
15:00–15:29 13 kr
15:30–16:59 18 kr
17:00–17:59 13 kr
18:00–18:29 8 kr
18:30–05:59 0 kr

Exempel:

SkattKalkylator.RäknaTotalBelopp("2023-05-31 17:45");
// skriver ut "Total avgiften är 13 kr" till terminalen

STEG/KRAV 2. Utöka funktionen så att den kan ta flera, kommaseparerade datumtider och skriv ut det totala beloppet (summan av varje betalstationsavgift).

Exempel:

SkattKalkylator.RäknaTotalBelopp("2023-05-31 08:00, 2023-05-31 12:00, 2023-05-31 12:45, 2023-05-31 17:45");
// skriver ut "Total avgiften är 42 kr" till terminalen

STEG/KRAV 3. Maxbeloppet per dag är 60 kr.

Exempel:

SkattKalkylator.RäknaTotalBelopp("2023-05-31 07:00, 2023-05-31 07:10, 2023-05-31 07:20, 2023-05-31 07:30");
// skriver ut "Total avgiften är 60 kr" till terminalen

STEG/KRAV 4. Ingen trängselskatt tas ut på lördagar, söndagar eller under juli månad.

Exempel:

SkattKalkylator.RäknaTotalBelopp("2023-06-03"); // (Lördag) skriver ut "Total avgiften är 0 kr" till terminalen
SkattKalkylator.RäknaTotalBelopp("2023-06-04"); // (Söndag) skriver ut "Total avgiften är 0 kr" till terminalen
SkattKalkylator.RäknaTotalBelopp("2023-07-01"); // (Juli) skriver ut "Total avgiften är 0 kr" till terminalen

STEG/KRAV 5. En bil som passerar flera betalstationer inom 60 minuter debiteras endast en gång. Det belopp som i så fall ska betalas är den högsta avgiften bland passagerna.

Exempel:

SkattKalkylator.RäknaTotalBelopp("2023-05-31 06:20, 2023-05-31 06:45, 2023-05-31 07:10");
// per pass: 8 kr, 13 kr, 18 kr
// skriver ut "Total avgiften är 18 kr" till terminalen

tdd-ovning-2's People

Contributors

nemanja1208 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.