Ohjelmistokehityksen menetelmät
  • Ohjelmistokehityksen menetelmät ja käytänteet
  • Tavoitteet
  • Työkalut
  • Toimeksiannot
    • Projektityön rajaukset ja toimeksiannot
    • Palkanlaskenta
    • Kilometrikorvaus
    • Laskutus
    • Laskun perintä
  • Ketterä ohjelmistokehitys
    • Agile esimerkki, sykli
    • Agile, Tuotteen tehtävälista
    • Agile, Käyttäjätarina ja käyttötapaus
    • Agile muu materiaali ja lähteitä
    • Agile termit (scrum)
  • Versionhallinta
    • Sanasto Git
    • Opas Gitin perusteisiin
    • Git perusteet 101
    • Git perusteet 102
    • Git perusteet 103
    • Git perusteet 104
    • Git perusteet 105
    • Git perusteet 106
    • Git perusteet 107
    • Git perusteet 108
    • Git muu materiaali ja lähteet
  • Yksikkötestaus
    • Ohjelmistotestauksen periaateet
    • NUnit lisääminen VS2019
    • NUnit perusteet 101
    • NUnit perusteet 102
    • NUnit perusteet 103
    • NUnit perusteet 104
    • NUnit perusteet 105
    • NUnit perusteet 106
    • NUnit muu materiaali ja lähteitä
    • TDD perusteet 101
    • TDD perusteet 102
    • TDD perusteet 103
    • TDD muu materiaali ja lähteitä
  • UML mallinnuskieli
    • Johdanto
  • Relaatiotietokannat
    • Johdanto
    • Sanasto
    • Mysql perusteet -videosarja
    • Pää- ja viiteavaimet
    • ER kaaviot
    • Viite-eheys ja ACID
    • SQL JOIN -lauseke
    • Normalisointi
    • SQL View
    • Tehtävä 001 Tietokannan suunnittelu
    • Indeksointi
      • Hitaat hakukyselyt
  • SQL harjoitukset ja esimerkit
    • Esimerkkitietokannan käyttöönotto
    • Mysql perusteet 101
    • Mysql perusteet 102
      • mysql-perusteet-102-vastaukset
    • Mysql perusteet 103
      • mysql-perusteet-103-vastaukset
    • Mysql perusteet 104
      • mysql-perusteet-104-vastaukset
    • Mysql perusteet 105
      • mysql-perusteet-105-vastaukset
    • Mysql perusteet 106
      • mysql-perusteet-106-vastaukset
    • SQL hakukyselyjä (VANHAT)
    • SQL harjoitukset syksy 2021
      • Vastaukset SQL harjoitukset syksy 2021
  • Miten yrittäjänä voin hyötyä ohjelmistokehityksen ostamisesta?
    • TL;DR
  • Toimeksiannot (2019/01)
    • Toimeksianto 2019/01
    • Käytänteet ja menetelmät
    • Konsoliohjelman refaktorointia
  • SCRUM harjoitustyö (2020/01)
    • Harjoitustyön sisältö
    • Harjoitustyö: Matkalasku
  • Toimeksiannot (2019/02)
    • Toimeksianto 2019/02
  • Toimeksiannot (2018/01)
    • Projekti 2018/01
    • Projekti 2018/01 Perjantaille 14.9
    • Projekti 2018/01 Käyttötapauksesta työtehtäviin
    • Projekti 2018/01 Ohjelmoinnin aloittaminen
    • Projekti 2018/01 TDD esimerkki
  • Harjoitteet (keskeneräiset)
    • Käyttäjätarinat
    • Pariohjelmointi
    • Versionhallinta
    • Testivetoinen kehitys
    • Jatkuva integraatio
    • Inkrementaalinen dokumentointi
Powered by GitBook
On this page
  1. Yksikkötestaus

NUnit perusteet 106

PreviousNUnit perusteet 105NextNUnit muu materiaali ja lähteitä

Last updated 5 years ago

Keilauksen pistelaskuri

Tutustu alla olevaan tehtävänantoon. Sinun tehtäväsi on toteuttaa ohjelma käyttäen yksikkötestausta. Tehtävänanto on tarkoituksella jätetty pilkkomatta pieniin välivaiheisiin. Sinun pitää itse lähteä purkamaan tehtävänantoa ja miettiä mitä testaisit ensin tai mistä lähtisit liikkeelle. Voit aloittaa vaikka hahmottelemalla miten ohjelma toimii.

Tee itsellesi muistiinpanot, miten tehtävän ratkaisisit. Kun sinulla on jonkinlainen ajatus niin yritä toteuttaa ratkaisusi. Alkuun voit esimerkiksi listata helpoimmat testit, jotka vievät ohjelman kokonaisuutta eteenpäin.

Yksi keilasarja koostuu kymmenestä ruudusta. Yhdeksään ensimmäiseen ruutuun saa heittää kaksi heittoa, jos ensimmäinen heitto ei ole kaato ja kymmenenteen ruutuun heitetään kolme heittoa, jos ensimmäinen heitto on kaato tai toinen heitto on paikko.

Jokaisesta heitosta saa pisteitä yhtä paljon kuin on kaadettuja keiloja. Jos heitto on kaato, kyseisen ruudun pisteisiin lasketaan mukaan lisäksi kahden seuraavan heiton pisteet ja paikon jälkeen lasketaan ruutuun mukaan seuraavan yhden heiton pisteet.

Ruudun pisteet lasketaan ja merkitään vasta kun kaikki ruutuun tarvittavat heitot on heitetty, esimerkiksi kaadon jälkeen on heitettävä ensin kaksi heittoa ennen kuin pisteet voidaan laskea.

Maksimipisteet 300 saadaan, kun heitetään 12 kaatoa peräkkäin, jolloin jokaista ruutua kohti tulee 30 pistettä.

(alkuperäinen idea []())

http://codingdojo.org/kata/Bowling/
http://codingdojo.org/kata/Bowling/