def test_3a_metodi_osumien_maara(self):
     try:
         from src.lottorivi import Lottorivi
         rivi = Lottorivi(1, [1, 2, 3, 4, 5, 6, 7])
         n = rivi.osumien_maara([1, 2, 3, 4, 5, 6, 7])
     except Exception as e:
         self.fail(
             f'Metodi osumien_maara antoi virheen, kun sitä kutsuttiin seuraavasti:\n'
             + f'rivi = Lottorivi(1,[1,2,3,4,5,6,7])\n' +
             f'n = rivi.osumien_maara([1,2,3,4,5,6,7])\n' +
             f'Virhe oli:\n{e}')
    def test_5b_testaa_osumien_maara_arvoilla2(self):
        test_case = [5, 10, 15, 20, 25, 30, 35]
        correct = [6, 7, 10, 11, 12, 13, 15]
        corr = 2
        from src.lottorivi import Lottorivi
        rivi = Lottorivi(1, correct)
        val = rivi.osumien_maara(test_case)

        self.assertEqual(
            val, corr, f'Metodin osumien_maara pitäisi palauttaa {corr}\n' +
            f'kun sitä kutsutaan seuraavasti:\n' +
            f'rivi = Lottorivi({correct})\n' +
            f'n = rivi.osumien_maara({test_case})\n'
            f'nyt metodi palauttaav{val}')
    def test_5a_testaa_osumien_maara_arvoilla1(self):
        test_case = [1, 2, 5, 6, 9, 10, 11]
        correct = [1, 3, 5, 7, 9, 11, 13]
        corr = 4
        from src.lottorivi import Lottorivi
        rivi = Lottorivi(1, correct)
        val = rivi.osumien_maara(test_case)

        self.assertEqual(
            val, corr, f'Metodin osumien_maara pitäisi palauttaa {corr}\n' +
            f'kun sitä kutsutaan seuraavasti:\n' +
            f'rivi = Lottorivi({correct})\n' +
            f'n = rivi.osumien_maara({test_case})\n'
            f'nyt metodi palauttaav{val}')
    def test_9b_testaa_osumat_paikoillaan_arvoilla2(self):
        test_case = [4, 6, 8, 10, 30, 32, 34]
        correct = [5, 6, 7, 8, 32, 33, 34]
        corr = [-1, 6, 8, -1, -1, 32, 34]
        from src.lottorivi import Lottorivi
        rivi = Lottorivi(1, correct)
        val = rivi.osumat_paikoillaan(test_case[:])

        self.assertEqual(
            val, corr,
            f'Metodin osumat_paikoillaan pitäisi palauttaa\n{corr}\n' +
            f'kun sitä kutsutaan seuraavasti:\n' +
            f'rivi = Lottorivi({correct})\n' +
            f'n = rivi.osumat_paikoillaan({test_case})\n'
            f'nyt metodi palauttaa\n{val}')
    def test_9a_testaa_osumat_paikoillaan_arvoilla1(self):
        test_case = [1, 2, 5, 6, 9, 10, 11]
        correct = [1, 3, 5, 7, 9, 11, 13]
        corr = [1, -1, 5, -1, 9, -1, 11]
        from src.lottorivi import Lottorivi
        rivi = Lottorivi(1, correct)
        val = rivi.osumat_paikoillaan(test_case[:])

        self.assertEqual(
            val, corr,
            f'Metodin osumat_paikoillaan pitäisi palauttaa\n{corr}\n' +
            f'kun sitä kutsutaan seuraavasti:\n' +
            f'rivi = Lottorivi({correct})\n' +
            f'n = rivi.osumat_paikoillaan({test_case})\n'
            f'nyt metodi palauttaa\n{val}')
 def test_2_olion_luonti(self):
     try:
         from src.lottorivi import Lottorivi
         a = Lottorivi(1, [1, 2, 3, 4, 5, 6, 7])
     except Exception as e:
         self.fail(
             f'Konstruktorikutsu Lottorivi(1,[1,2,3,4,5,6,7]) antoi virheen \n{e}\n'
             + 'Tarkista, että luokasta voi muodostaa olion.')
 def test_3b_osumien_maara_paluuarvon_tyyppi(self):
     try:
         from src.lottorivi import Lottorivi
         rivi = Lottorivi(1, [1, 2, 3, 4, 5, 6, 7])
         val = rivi.osumien_maara([1, 2, 3, 4, 5, 6, 7])
     except Exception as e:
         self.fail(
             f'Metodi osumien_maara antoi virheen, kun sitä kutsuttiin seuraavasti:\n'
             + f'rivi = Lottorivi(1,[1,2,3,4,5,6,7])\n' +
             f'n = rivi.osumien_maara([1,2,3,4,5,6,7])\n' +
             f'Virhe oli:\n{e}')
     taip = str(type(val)).replace("<class '", "").replace("'>", "")
     self.assertTrue(
         type(val) == int,
         f"Metodin osumien_maara pitäisi palauttaa arvo, jonka tyyppi on int,"
         +
         f" nyt se palauttaa arvon {val} joka on tyyppiä {taip}\n kun sitä kutsuttiin näin:\n"
         + f'rivi = Lottorivi(1,[1,2,3,4,5,6,7])\n' +
         f'n = rivi.osumien_maara([1,2,3,4,5,6,7])\n')