Skip to content
This repository has been archived by the owner on Mar 1, 2018. It is now read-only.

Commit

Permalink
Merge branch 'master' into cuducos-fix-docker-command
Browse files Browse the repository at this point in the history
  • Loading branch information
cuducos committed Nov 4, 2017
2 parents 8ecf2f8 + 99b4c32 commit 78816b1
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
from sklearn.base import TransformerMixin


ELECTION_LEGAL_ENTITY = '409-0 - CANDIDATO A CARGO POLITICO ELETIVO'

class ElectionExpensesClassifier(TransformerMixin):
"""
Election Expenses classifier.
Expand All @@ -14,11 +16,11 @@ class ElectionExpensesClassifier(TransformerMixin):
Brazilian Federal Revenue category of companies, preceded by its code.
"""

def fit(self, X):
return self
def fit(self, dataframe):
pass

def transform(self, X=None):
return self
def transform(self, dataframe=None):
pass

def predict(self, X):
return X['legal_entity'] == '409-0 - CANDIDATO A CARGO POLITICO ELETIVO'
def predict(self, dataframe):
return dataframe['legal_entity'] == ELECTION_LEGAL_ENTITY

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,36 @@
class TestElectionExpensesClassifier(TestCase):

def setUp(self):
self.dataset = pd.read_csv('rosie/chamber_of_deputies/tests/fixtures/election_expenses_classifier.csv',
dtype={'name': np.str, 'legal_entity': np.str})
self.subject = ElectionExpensesClassifier()
self.election_expenser_classifier = ElectionExpensesClassifier()

def test_is_election_company(self):
self.assertEqual(self.subject.predict(self.dataset)[0], True)
def test_legal_entity_is_a_election_company(self):
self.dataframe = self._create_dataframe([[
'CARLOS ALBERTO DA SILVA',
'ELEICAO 2006 CARLOS ALBERTO DA SILVA DEPUTADO',
'409-0 - CANDIDATO A CARGO POLITICO ELETIVO'
]])

def test_is_not_election_company(self):
self.assertEqual(self.subject.predict(self.dataset)[1], False)
prediction_result = self.election_expenser_classifier.predict(self.dataframe)

def test_fit(self):
self.assertEqual(self.subject.fit(self.dataset), self.subject)
self.assertEqual(prediction_result[0], True)

def test_tranform(self):
self.assertEqual(self.subject.transform(), self.subject)
def test_legal_entity_is_not_election_company(self):
self.dataframe = self._create_dataframe([[
'PAULO ROGERIO ROSSETO DE MELO',
'POSTO ROTA 116 DERIVADOS DE PETROLEO LTDA',
'401-4 - EMPRESA INDIVIDUAL IMOBILIARIA'
]])

prediction_result = self.election_expenser_classifier.predict(self.dataframe)

self.assertEqual(prediction_result[0], False)

def test_fit_just_for_formality_because_its_never_used(self):
empty_dataframe = pd.DataFrame()
self.assertTrue(self.election_expenser_classifier.fit(empty_dataframe) is None)

def test_transform_just_for_formality_because_its_never_used(self):
self.assertTrue(self.election_expenser_classifier.transform() is None)

def _create_dataframe(self, dataframe_data):
return pd.DataFrame(data=dataframe_data, columns=['congressperson_name', 'name', 'legal_entity'])

0 comments on commit 78816b1

Please sign in to comment.