Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simon-s-99/expense-tracker-csharp
A simple console application for tracking expenses by Simon Sörqvist & Samuel Lööf
https://github.com/simon-s-99/expense-tracker-csharp
c-sharp school-assignment
Last synced: 4 days ago
JSON representation
A simple console application for tracking expenses by Simon Sörqvist & Samuel Lööf
- Host: GitHub
- URL: https://github.com/simon-s-99/expense-tracker-csharp
- Owner: simon-s-99
- License: mit
- Created: 2023-09-14T09:55:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-25T13:34:34.000Z (10 months ago)
- Last Synced: 2024-10-11T00:15:22.449Z (26 days ago)
- Topics: c-sharp, school-assignment
- Language: C#
- Homepage:
- Size: 2.04 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ExpenseTracker - Assignment:
**Denna uppgift ska utföras i par.**
## Funktionalitet
Skriv ett interaktivt konsolprogram som låter användaren hålla koll på sina utgifter. Programmet ska innehålla följande funktionalitet:- Lägga till utgifter
- Varje utgift består av namn, pris (inklusive moms) och kategori (`Utbildning`, `Böcker`, `Livsmedel`, eller `Övrigt`)
- Visa alla enskilda utgifter (enbart inklusive moms) och deras kategorier samt antalet utgifter och totalsumman (både inklusive och exklusive moms) av dessa utgifter
- Visa totalsumman (både inklusive och exklusive moms) av alla utgifter per kategori
- Ändra på en utgift
- Ta bort en enskild utgift
- Ta bort alla utgifter### Regler för moms
Ert program ska hantera moms (*VAT* eller *value-added tax* på engelska) på följande sätt:- När användaren matar in en ny utgift ska enbart totalpriset (inklusive moms) matas in.
- Programmet ska automatiskt lista ut momssatsen för en utgift baserat på kategorin:
- `Utbildning`: 0%
- `Böcker`: 6%
- `Livsmedel`: 12%
- `Övrigt`: 25%
- Visa samtliga värden med två decimaler.
- Exempel: `12.34 kr`
- Gör denna avrundning med `value.ToString("0.00")`.
- Använd inte `Math.Round`, som ger fel resultat om värdet har färre än två siffror efter decimalen.## Tester
Skriv automatiserade tester för en del av programmet, i form av unit-tester för en specifik metod.- Ert program **måste** innehålla följande metod, där `Expense` är en klass som ni ska implementera själva:
// Return the sum of all expenses in the specified list, with or without VAT based on the second parameter.
public static decimal SumExpenses(List expenses, bool includeVAT)
- Ert program **måste** innehålla åtminstone **3** tester (högst 10) som testar denna metod med olika intressanta scenarion.- Denna metod **måste** också anropas från huvudprogrammet. Den får alltså inte användas *enbart* i testerna.
- Ni ska bara skriva **en** sådan metod. Ni får alltså inte skriva en separat `SumExpenses`-metod för exempelvis varje enskild utgiftskategori.
- Ni kan behöva avrunda metodens returvärde för att kunna testa den på ett pålitligt sätt. I detta fall går `Math.Round` bra att använda.