def test_9_soma_media_placares(self):
        '''
        9 - Calcular soma e média dos placares.

        Ao popular uma temporada com sete jogos, espera-se que a soma e a média
        dos placares sejam iguais às variáveis "valor_soma" e "valor_média",
        respectivamente. Testa os métodos "soma_placares" e "media_placares".
        '''

        bd = BD(CAMINHO)
        bd.define_tabela("1497")

        bd.adiciona_placar(5, "primeiro jogo")
        tmp = [
            [12, "novo máximo"],
            [7, "normal"],
            [16, "novo máximo"],
            [4, "novo mínimo"],
            [16, "normal"],
            [8, "normal"],
        ]

        for x in tmp:
            min_temp, max_temp, quebra_min, quebra_max = bd.retorna_tabela(
                "última linha")[0][2:]
            placar = x[0]
            if placar < min_temp:
                quebra_min += 1

            elif placar > max_temp:
                quebra_max += 1

            bd.adiciona_placar(
                [placar, min_temp, max_temp, quebra_min, quebra_max], x[1])

        valor_soma = 5 + sum([x[0] for x in tmp])
        valor_media = valor_soma / (len(tmp) + 1)

        self.assertEqual(bd.soma_placares(), valor_soma)
        self.assertEqual(bd.media_placares(), valor_media)

        bd.encerra()
        self.deleta_BD()
    def test_10_top_5_print(self):
        '''
        11 - Teste dos melhores e dos piores top 5.

        Ao popular uma temporada com sete jogos, espera-se que os melhores
        e os piores top 5 sejam iguais às variáveis "valor_top_5" e "valor_piores_top_5".
        Em seguida, verifica se as somas de ambos valores são iguais às variáveis
        "valor_soma_top_5" e "valor_soma_piores_top_5".

        Testa os métodos "top_5" e "top_5_piores" com os dois blocos condicionais de cada um.
        Também é testado o método "printa_tabela_2", cujos dois primeiros valores retornados
        devem ser iguais às variáveis "valor_estats_1" e "valor_estats_2", respectivamente.
        '''

        bd = BD(CAMINHO)
        bd.define_tabela("404")

        bd.adiciona_placar(5, "primeiro jogo")
        tmp = [
            [12, "novo máximo"],
            [7, "normal"],
            [16, "novo máximo"],
            [4, "novo mínimo"],
            [16, "normal"],
            [8, "normal"],
        ]

        for x in tmp:
            min_temp, max_temp, quebra_min, quebra_max = bd.retorna_tabela(
                "última linha")[0][2:]
            placar = x[0]
            if placar < min_temp:
                quebra_min += 1

            elif placar > max_temp:
                quebra_max += 1

            bd.adiciona_placar(
                [placar, min_temp, max_temp, quebra_min, quebra_max], x[1])

        valor_top_5 = [16, 16, 12, 8, 7]
        valor_piores_top_5 = [4, 5, 7, 8, 12]

        self.assertEqual(bd.top_5("lista"), valor_top_5)
        self.assertEqual(bd.top_5_piores("lista"), valor_piores_top_5)

        valor_soma_top_5 = sum(valor_top_5)
        valor_soma_piores_top_5 = sum(valor_piores_top_5)

        self.assertEqual(bd.top_5("soma"), valor_soma_top_5)
        self.assertEqual(bd.top_5_piores("soma"), valor_soma_piores_top_5)

        valor_estats_1 = [[
            bd.soma_placares(),
            bd.media_placares(),
            valor_soma_top_5,
            valor_soma_piores_top_5,
        ]]

        valor_estats_2 = [[valor_top_5[x], valor_piores_top_5[x]]
                          for x in range(len(valor_top_5))]

        resultado = bd.printa_tabela_2()

        self.assertEqual(resultado[0], valor_estats_1)
        self.assertEqual(resultado[1], valor_estats_2)

        bd.encerra()
        self.deleta_BD()