Example #1
0
    def teste_alguem_de_fora_escreve_com_alguem_de_dentro(self):
        livros = [
            ['A', 'B'],
            ['B', 'C'],
            ['C', 'D'],
            ['Berrondo', 'Flávio'],
            ['Erdos', 'Berrondo'],
        ]
        coautoresDeErdos = CoautoresDeErdos(livros)
        self.assertEqual(coautoresDeErdos['Erdos'].numero_de_erdos, 0)
        self.assertEqual(coautoresDeErdos['Berrondo'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['Flávio'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['A'].numero_de_erdos, INFINITO)
        self.assertEqual(coautoresDeErdos['B'].numero_de_erdos, INFINITO)
        self.assertEqual(coautoresDeErdos['C'].numero_de_erdos, INFINITO)
        self.assertEqual(coautoresDeErdos['D'].numero_de_erdos, INFINITO)

        novos_livros = [['B', 'Flávio']]
        coautoresDeErdos.incluir_autores_de(novos_livros)
        self.assertEqual(coautoresDeErdos['Erdos'].numero_de_erdos, 0)
        self.assertEqual(coautoresDeErdos['Berrondo'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['Flávio'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['A'].numero_de_erdos, 4)
        self.assertEqual(coautoresDeErdos['B'].numero_de_erdos, 3)
        self.assertEqual(coautoresDeErdos['C'].numero_de_erdos, 4)
        self.assertEqual(coautoresDeErdos['D'].numero_de_erdos, 5)
Example #2
0
    def test(self):
        livros = [
                  ['Erdos', 'Silva'],
                  ['Erdos', 'Santos'],
                  ['Silva', 'Souza'],
                  ['Caminha'],
                  ['Santos', 'Souto'],
                  ['Silva', 'Vaz'],
                  ['Santos', 'Pereira'],
                  ['Vaz', 'Caminha'],
                  ['Silva', 'Caminha'],
                  ['Coutinho', 'Malta', 'Guedes', 'Salviano'],
                 ]
        coautoresDeErdos = CoautoresDeErdos(livros)
        self.assertEqual(0, coautoresDeErdos['Erdos'].numero_de_erdos)
        self.assertEqual(1, coautoresDeErdos['Silva'].numero_de_erdos)
        self.assertEqual(1, coautoresDeErdos['Santos'].numero_de_erdos)
        self.assertEqual(2, coautoresDeErdos['Souto'].numero_de_erdos)
        self.assertEqual(2, coautoresDeErdos['Caminha'].numero_de_erdos)

        self.assertEqual(2, coautoresDeErdos['Souza'].numero_de_erdos)
        self.assertEqual(2, coautoresDeErdos['Vaz'].numero_de_erdos)
        self.assertEqual(2, coautoresDeErdos['Pereira'].numero_de_erdos)
        self.assertEqual(INFINITO, coautoresDeErdos['Coutinho'].numero_de_erdos)
        self.assertEqual(INFINITO, coautoresDeErdos['Malta'].numero_de_erdos)
        self.assertEqual(INFINITO, coautoresDeErdos['Guedes'].numero_de_erdos)
        self.assertEqual(INFINITO, coautoresDeErdos['Salviano'].numero_de_erdos)
        
        coautoresDeErdos.incluir_autores_de([['Souto', 'Guedes']])
        self.assertEqual(2, coautoresDeErdos['Souto'].numero_de_erdos)
        self.assertEqual(3, coautoresDeErdos['Guedes'].numero_de_erdos)
Example #3
0
    def teste_boladao(self):
        livros = [
            ['Erdos', '1'],
            ['1', '2'],
            ['2', '3'],
            ['3', '4'],
            ['4', '5'],
            ['5', '6'],
            ['6', '7'],
            ['7', '8'],
        ]
        coautoresDeErdos = CoautoresDeErdos(livros)
        self.assertEqual(coautoresDeErdos['Erdos'].numero_de_erdos, 0)
        self.assertEqual(coautoresDeErdos['1'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['2'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['3'].numero_de_erdos, 3)
        self.assertEqual(coautoresDeErdos['4'].numero_de_erdos, 4)
        self.assertEqual(coautoresDeErdos['5'].numero_de_erdos, 5)
        self.assertEqual(coautoresDeErdos['6'].numero_de_erdos, 6)
        self.assertEqual(coautoresDeErdos['7'].numero_de_erdos, 7)
        self.assertEqual(coautoresDeErdos['8'].numero_de_erdos, 8)

        novos_livros = [['2', '5']]
        coautoresDeErdos.incluir_autores_de(novos_livros)
        self.assertEqual(coautoresDeErdos['Erdos'].numero_de_erdos, 0)
        self.assertEqual(coautoresDeErdos['1'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['2'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['3'].numero_de_erdos, 3)
        self.assertEqual(coautoresDeErdos['4'].numero_de_erdos, 4)
        self.assertEqual(coautoresDeErdos['5'].numero_de_erdos, 3)
        self.assertEqual(coautoresDeErdos['6'].numero_de_erdos, 4)
        self.assertEqual(coautoresDeErdos['7'].numero_de_erdos, 5)
        self.assertEqual(coautoresDeErdos['8'].numero_de_erdos, 6)

        novissimos_livros = [['Erdos', '4']]
        coautoresDeErdos.incluir_autores_de(novissimos_livros)
        self.assertEqual(coautoresDeErdos['Erdos'].numero_de_erdos, 0)
        self.assertEqual(coautoresDeErdos['1'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['2'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['3'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['4'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['5'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['6'].numero_de_erdos, 3)
        self.assertEqual(coautoresDeErdos['7'].numero_de_erdos, 4)
        self.assertEqual(coautoresDeErdos['8'].numero_de_erdos, 5)

        livros_mais_novos_ainda = [['3', '5', '8']]
        coautoresDeErdos.incluir_autores_de(livros_mais_novos_ainda)
        self.assertEqual(coautoresDeErdos['Erdos'].numero_de_erdos, 0)
        self.assertEqual(coautoresDeErdos['1'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['2'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['3'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['4'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['5'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['6'].numero_de_erdos, 3)
        self.assertEqual(coautoresDeErdos['7'].numero_de_erdos, 4)
        self.assertEqual(coautoresDeErdos['8'].numero_de_erdos, 3)
Example #4
0
    def teste_promocao_intermediaria(self):
        livros = [
            ['Erdos', 'Berrondo'],
            ['Berrondo', 'Flávio'],
            ['Flávio', 'Magdalena'],
            ['Magdalena', 'Luiza'],
        ]
        coautoresDeErdos = CoautoresDeErdos(livros)
        self.assertEqual(coautoresDeErdos['Erdos'].numero_de_erdos, 0)
        self.assertEqual(coautoresDeErdos['Berrondo'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['Flávio'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['Magdalena'].numero_de_erdos, 3)
        self.assertEqual(coautoresDeErdos['Luiza'].numero_de_erdos, 4)

        novos_livros = [['Erdos', 'Luiza']]
        coautoresDeErdos.incluir_autores_de(novos_livros)
        self.assertEqual(coautoresDeErdos['Erdos'].numero_de_erdos, 0)
        self.assertEqual(coautoresDeErdos['Berrondo'].numero_de_erdos, 1)
        self.assertEqual(coautoresDeErdos['Flávio'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['Magdalena'].numero_de_erdos, 2)
        self.assertEqual(coautoresDeErdos['Luiza'].numero_de_erdos, 1)