Пример #1
0
    def test_semelhanca_partidos(self):
        '''Testa a função de semelhança para partidos'''

        partido1 = 'girondinos'
        partido2 = 'jacobinos'
        votacoes = []

        # votações do test
        # v1: p1(3,0,0) p2(0,3,0)
        # v2: p1(0,2,1) p2(2,0,1)
        # v3: p1(3,0,0) p2(0,2,1)

        dep1Sim = Deputado()
        dep1Sim.partido = partido1
        dep1Sim.voto = model.SIM
        dep1Nao = Deputado()
        dep1Nao.partido = partido1
        dep1Nao.voto = model.NAO
        dep1Abs = Deputado()
        dep1Abs.partido = partido1
        dep1Abs.voto = model.ABSTENCAO
        dep2Sim = Deputado()
        dep2Sim.partido = partido2
        dep2Sim.voto = model.SIM
        dep2Nao = Deputado()
        dep2Nao.partido = partido2
        dep2Nao.voto = model.NAO
        dep2Abs = Deputado()
        dep2Abs.partido = partido2
        dep2Abs.voto = model.ABSTENCAO

        # votação 1
        vot = Votacao()
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Nao)
        votacoes.append(vot)

        # votação 2
        vot = Votacao()
        vot.deputados.append(dep1Nao)
        vot.deputados.append(dep1Nao)
        vot.deputados.append(dep1Abs)
        vot.deputados.append(dep2Sim)
        vot.deputados.append(dep2Sim)
        vot.deputados.append(dep2Abs)
        votacoes.append(vot)

        # votação 3
        vot = Votacao()
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Abs)
        votacoes.append(vot)

        proposicao = Proposicao()
        proposicao.votacoes = votacoes

        proposicoes = [proposicao]

        # invocando a função testada
        s = partidos.semelhanca(partido1, partido2, proposicoes)

        # testando se tá certo
        expected = 0.008766487  # calculado na mão
        self.assertAlmostEqual(expected, s, 5)
Пример #2
0
    def test_semelhanca_partidos(self):
        """ Tests the function of similarity for political partidos."""

        party1 = 'girondinos'
        party2 = 'jacobinos'
        votings = []

        # Votations of the test:
        # v1: p1(3,0,0) p2(0,3,0)
        # v2: p1(0,2,1) p2(2,0,1)
        # v3: p1(3,0,0) p2(0,2,1)
        dep1Sim = Deputado()
        dep1Sim.partido = party1
        dep1Sim.voto = model.SIM
        dep1Nao = Deputado()
        dep1Nao.partido = party1
        dep1Nao.voto = model.NAO
        dep1Abs = Deputado()
        dep1Abs.partido = party1
        dep1Abs.voto = model.ABSTENCAO
        dep2Sim = Deputado()
        dep2Sim.partido = party2
        dep2Sim.voto = model.SIM
        dep2Nao = Deputado()
        dep2Nao.partido = party2
        dep2Nao.voto = model.NAO
        dep2Abs = Deputado()
        dep2Abs.partido = party2
        dep2Abs.voto = model.ABSTENCAO

        # First grade:
        vot = Votacao()
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Nao)
        votings.append(vot)

        # Second grade:
        vot = Votacao()
        vot.deputados.append(dep1Nao)
        vot.deputados.append(dep1Nao)
        vot.deputados.append(dep1Abs)
        vot.deputados.append(dep2Sim)
        vot.deputados.append(dep2Sim)
        vot.deputados.append(dep2Abs)
        votings.append(vot)

        # Third grade:
        vot = Votacao()
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Abs)
        votings.append(vot)

        proposition = Proposicao()
        proposition.votacoes = votings

        propositions = [proposition]

        # Tested by invoking the function:
        s = partidos.similarity(party1, party2, propositions)

        # If testing is right;
        # Calculating on hand:
        expected = 0.008766487
        self.assertAlmostEqual(expected, s, 5)
Пример #3
0
    def test_vetor_votacoes(self):
        '''testa a geração de um vetor de votações'''

        # votações testadas (s,n,a):
        #(9,0,0)
        #(0,8,1)
        #(7,1,1)
        #(3,3,3)

        partido = 'arena'
        votacoes = []

        depSim = Deputado()
        depSim.partido = partido
        depSim.voto = model.SIM
        depNao = Deputado()
        depNao.partido = partido
        depNao.voto = model.NAO
        depAbs = Deputado()
        depAbs.partido = partido
        depAbs.voto = model.ABSTENCAO

        # 1a votação
        vot = Votacao()
        for i in range(0, 9):
            vot.deputados.append(depSim)
        votacoes.append(vot)

        # 2a votação
        vot = Votacao()
        for i in range(0, 8):
            vot.deputados.append(depNao)
        vot.deputados.append(depAbs)
        votacoes.append(vot)

        # 3a votação
        vot = Votacao()
        for i in range(0, 7):
            vot.deputados.append(depSim)
        vot.deputados.append(depNao)
        vot.deputados.append(depAbs)
        votacoes.append(vot)

        # 4a votação
        vot = Votacao()
        for i in range(0, 3):
            vot.deputados.append(depSim)
        for i in range(0, 3):
            vot.deputados.append(depNao)
        for i in range(0, 3):
            vot.deputados.append(depAbs)
        votacoes.append(vot)

        proposicao = Proposicao()
        proposicao.votacoes = votacoes
        proposicoes = [proposicao]

        # invocando a função testada
        vetor = partidos.vetor_votacoes(partido, proposicoes)

        # testando se tá certo
        expected = [1, -0.88889, 0.66667, 0]
        self.assertEqual(len(expected), len(vetor))
        for e, v in zip(expected, vetor):
            self.assertAlmostEqual(e, v, 5)
Пример #4
0
    def test_vetor_votacoes(self):
        """Tests the generation of an array of polls."""

        # Tested polls (s,n,a):
        # (9,0,0)
        # (0,8,1)
        # (7,1,1)
        # (3,3,3)
        party = 'arena'
        votings = []

        deputy_vote_yes = Deputado()
        deputy_vote_yes.partido = party
        deputy_vote_yes.voto = model.SIM
        deputy_vote_no = Deputado()
        deputy_vote_no.partido = party
        deputy_vote_no.voto = model.NAO
        depute_vote_abstention = Deputado()
        depute_vote_abstention.partido = party
        depute_vote_abstention.voto = model.ABSTENCAO

        # First grade:
        vote = Votacao()
        for i in range(0, 9):
            vote.deputados.append(deputy_vote_yes)
        votings.append(vote)

        # Second grade::
        vote = Votacao()
        for i in range(0, 8):
            vote.deputados.append(deputy_vote_no)
        vote.deputados.append(depute_vote_abstention)
        votings.append(vote)

        # Third grade:
        vote = Votacao()
        for i in range(0, 7):
            vote.deputados.append(deputy_vote_yes)
        vote.deputados.append(deputy_vote_no)
        vote.deputados.append(depute_vote_abstention)
        votings.append(vote)

        # Fourth voting:
        vote = Votacao()
        for i in range(0, 3):
            vote.deputados.append(deputy_vote_yes)
        for i in range(0, 3):
            vote.deputados.append(deputy_vote_no)
        for i in range(0, 3):
            vote.deputados.append(depute_vote_abstention)
        votings.append(vote)

        proposition = Proposicao()
        proposition.votacoes = votings
        propositions = [proposition]

        # Tested by invoking the function:
        vector = partidos.votings_vector(party, propositions)

        # If testing is right:
        expected = [1, -0.88889, 0.66667, 0]
        self.assertEqual(len(expected), len(vector))
        for e, v in zip(expected, vector):
            self.assertAlmostEqual(e, v, 5)
Пример #5
0
  def test_semelhanca_partidos(self):
    """ Tests the function of similarity for political partidos."""

    party1 = 'girondinos'
    party2 = 'jacobinos'
    votings = []

    # Votations of the test:
    # v1: p1(3,0,0) p2(0,3,0)
    # v2: p1(0,2,1) p2(2,0,1)
    # v3: p1(3,0,0) p2(0,2,1)
    dep1Sim = Deputado()
    dep1Sim.partido = party1
    dep1Sim.voto = model.SIM 
    dep1Nao = Deputado()
    dep1Nao.partido = party1
    dep1Nao.voto = model.NAO
    dep1Abs = Deputado()
    dep1Abs.partido = party1
    dep1Abs.voto = model.ABSTENCAO 
    dep2Sim = Deputado()
    dep2Sim.partido = party2
    dep2Sim.voto = model.SIM 
    dep2Nao = Deputado()
    dep2Nao.partido = party2
    dep2Nao.voto = model.NAO
    dep2Abs = Deputado()
    dep2Abs.partido = party2
    dep2Abs.voto = model.ABSTENCAO 

    # First grade:
    vot = Votacao()
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Nao)
    votings.append(vot)

    # Second grade:
    vot = Votacao()
    vot.deputados.append(dep1Nao)
    vot.deputados.append(dep1Nao)
    vot.deputados.append(dep1Abs)
    vot.deputados.append(dep2Sim)
    vot.deputados.append(dep2Sim)
    vot.deputados.append(dep2Abs)
    votings.append(vot)

    # Third grade:
    vot = Votacao()
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Abs)
    votings.append(vot)

    proposition = Proposicao()
    proposition.votacoes = votings

    propositions = [proposition]

    # Tested by invoking the function:
    s = partidos.similarity(party1, party2, propositions)

    # If testing is right;
    # Calculating on hand:
    expected = 0.008766487 
    self.assertAlmostEqual(expected, s, 5)
Пример #6
0
  def test_vetor_votacoes(self): 
    """Tests the generation of an array of polls."""

    # Tested polls (s,n,a):
    # (9,0,0) 
    # (0,8,1) 
    # (7,1,1) 
    # (3,3,3) 
    party = 'arena'
    votings = []

    deputy_vote_yes = Deputado()
    deputy_vote_yes.partido = party
    deputy_vote_yes.voto = model.SIM
    deputy_vote_no = Deputado()
    deputy_vote_no.partido = party
    deputy_vote_no.voto = model.NAO
    depute_vote_abstention = Deputado()
    depute_vote_abstention.partido = party
    depute_vote_abstention.voto = model.ABSTENCAO

    # First grade:
    vote = Votacao()
    for i in range(0,9):
      vote.deputados.append(deputy_vote_yes)
    votings.append(vote)

    # Second grade::
    vote = Votacao()
    for i in range(0,8):
      vote.deputados.append(deputy_vote_no)
    vote.deputados.append(depute_vote_abstention)
    votings.append(vote)

    # Third grade:
    vote = Votacao()
    for i in range(0,7):
      vote.deputados.append(deputy_vote_yes)
    vote.deputados.append(deputy_vote_no)
    vote.deputados.append(depute_vote_abstention)
    votings.append(vote)

    # Fourth voting:
    vote = Votacao()
    for i in range(0,3):
      vote.deputados.append(deputy_vote_yes)
    for i in range(0,3):
      vote.deputados.append(deputy_vote_no)
    for i in range(0,3):
      vote.deputados.append(depute_vote_abstention)
    votings.append(vote)

    proposition = Proposicao()
    proposition.votacoes = votings
    propositions = [proposition]
  
    # Tested by invoking the function:
    vector = partidos.votings_vector(party, propositions)

    # If testing is right:
    expected = [1, -0.88889, 0.66667, 0]
    self.assertEqual(len(expected), len(vector))
    for e, v in zip(expected, vector):
      self.assertAlmostEqual(e, v, 5)
Пример #7
0
  def test_semelhanca_partidos(self):
    '''Testa a função de semelhança para partidos'''

    partido1 = 'girondinos'
    partido2 = 'jacobinos'
    votacoes = []

    # votações do test
    # v1: p1(3,0,0) p2(0,3,0)
    # v2: p1(0,2,1) p2(2,0,1)
    # v3: p1(3,0,0) p2(0,2,1)

    dep1Sim = Deputado()
    dep1Sim.partido = partido1
    dep1Sim.voto = model.SIM 
    dep1Nao = Deputado()
    dep1Nao.partido = partido1
    dep1Nao.voto = model.NAO
    dep1Abs = Deputado()
    dep1Abs.partido = partido1
    dep1Abs.voto = model.ABSTENCAO 
    dep2Sim = Deputado()
    dep2Sim.partido = partido2
    dep2Sim.voto = model.SIM 
    dep2Nao = Deputado()
    dep2Nao.partido = partido2
    dep2Nao.voto = model.NAO
    dep2Abs = Deputado()
    dep2Abs.partido = partido2
    dep2Abs.voto = model.ABSTENCAO 

    # votação 1
    vot = Votacao()
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Nao)
    votacoes.append(vot)

    # votação 2
    vot = Votacao()
    vot.deputados.append(dep1Nao)
    vot.deputados.append(dep1Nao)
    vot.deputados.append(dep1Abs)
    vot.deputados.append(dep2Sim)
    vot.deputados.append(dep2Sim)
    vot.deputados.append(dep2Abs)
    votacoes.append(vot)

    # votação 3
    vot = Votacao()
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Abs)
    votacoes.append(vot)

    proposicao = Proposicao()
    proposicao.votacoes = votacoes

    proposicoes = [proposicao]

    # invocando a função testada
    s = partidos.semelhanca(partido1, partido2, proposicoes)

    # testando se tá certo
    expected = 0.2524905 # calculado na mão
    self.assertAlmostEqual(expected, s, 5)
Пример #8
0
  def test_vetor_votacoes(self): 
    '''testa a geração de um vetor de votações'''

    # votações testadas (s,n,a):
    #(9,0,0) 
    #(0,8,1) 
    #(7,1,1) 
    #(3,3,3) 

    partido = 'arena'
    votacoes = []

    depSim = Deputado()
    depSim.partido = partido
    depSim.voto = model.SIM 
    depNao = Deputado()
    depNao.partido = partido
    depNao.voto = model.NAO
    depAbs = Deputado()
    depAbs.partido = partido
    depAbs.voto = model.ABSTENCAO 

    # 1a votação
    vot = Votacao()
    for i in range(0,9):
      vot.deputados.append(depSim)
    votacoes.append(vot)

    # 2a votação
    vot = Votacao()
    for i in range(0,8):
      vot.deputados.append(depNao)
    vot.deputados.append(depAbs)
    votacoes.append(vot)

    # 3a votação
    vot = Votacao()
    for i in range(0,7):
      vot.deputados.append(depSim)
    vot.deputados.append(depNao)
    vot.deputados.append(depAbs)
    votacoes.append(vot)

    # 4a votação
    vot = Votacao()
    for i in range(0,3):
      vot.deputados.append(depSim)
    for i in range(0,3):
      vot.deputados.append(depNao)
    for i in range(0,3):
      vot.deputados.append(depAbs)
    votacoes.append(vot)

    proposicao = Proposicao()
    proposicao.votacoes = votacoes
    proposicoes = [proposicao]
  
    # invocando a função testada
    vetor = partidos.vetor_votacoes(partido, proposicoes)

    # testando se tá certo
    expected = [1, 0.055555556, 0.833333333, 0.5]
    self.assertEqual(len(expected), len(vetor))
    for e, v in zip(expected, vetor):
      self.assertAlmostEqual(e, v, 5)