def __test_service_substract(self): ''' Functie test care verifica daca scaderea a doua numere a fost realizata cu succes ''' repo = Repo() validator = Validator() serviceNumere = ServiceNumere(repo, validator) rezultat = serviceNumere.substract('45', '7', 6, 8, 16) assert rezultat.get_valoare() == '16' assert rezultat.get_baza() == 16 rezultat = serviceNumere.substract('12', '5', 3, 5, 4) assert rezultat.get_valoare() == '0' assert rezultat.get_baza() == 4 rezultat = serviceNumere.substract('10', '7', 10, 16, 2) assert rezultat.get_valoare() == '11' assert rezultat.get_baza() == 2 rezultat = serviceNumere.substract('F', '7', 16, 8, 4) assert rezultat.get_valoare() == '20' assert rezultat.get_baza() == 4 try: rezultat = serviceNumere.substract('17', '17', 8, 9, 3) assert False except RepoError as re: assert str(re) == "Scadere negativa!\n" try: rezultat = serviceNumere.substract('7', 'F', 8, 16, 4) assert False except RepoError as re: assert str(re) == "Scadere negativa!\n"
def __test_service_multiply(self): ''' Functie test care verifica daca inmultirea a doua numere a fost realizata cu succes ''' repo = Repo() validator = Validator() serviceNumere = ServiceNumere(repo, validator) rezultat = serviceNumere.multiply('137', '3', 8, 8, 8) assert rezultat.get_valoare() == '435' assert rezultat.get_baza() == 8 rezultat = serviceNumere.multiply('120', '5', 3, 7, 16) assert rezultat.get_valoare() == '4B' assert rezultat.get_baza() == 16 rezultat = serviceNumere.multiply('120', '13', 10, 6, 10) assert rezultat.get_valoare() == '1080' assert rezultat.get_baza() == 10 rezultat = serviceNumere.multiply('20', 'F', 10, 16, 16) assert rezultat.get_valoare() == '12C' assert rezultat.get_baza() == 16 rezultat = serviceNumere.multiply('120', '3', 10, 4, 2) assert rezultat.get_valoare() == '101101000' assert rezultat.get_baza() == 2 rezultat = serviceNumere.multiply('120', '15', 10, 6, 10) assert rezultat.get_valoare() == '1320' assert rezultat.get_baza() == 10 rezultat = serviceNumere.multiply('20', 'F', 10, 16, 9) assert rezultat.get_valoare() == '363' assert rezultat.get_baza() == 9
def __test_repo_multiply(self): ''' Functie de tip test care verifica daca inmultirea a doua numere intr-o anumita baza a fost realizata cu succes ''' repo = Repo() numarA = Numar('120', 6) numarB = Numar('2', 6) rezultat = repo.multiply(numarA, numarB, 6) assert rezultat.get_valoare() == '240' assert rezultat.get_baza() == 6 numarA = Numar('120', 6) numarB = Numar('3', 6) rezultat = repo.multiply(numarA, numarB, 6) assert rezultat.get_valoare() == '400' numarA = Numar('52', 16) numarB = Numar('3', 16) rezultat = repo.multiply(numarA, numarB, 16) assert rezultat.get_valoare() == 'F6' numarA = Numar('57', 16) numarB = Numar('7', 16) rezultat = repo.multiply(numarA, numarB, 16) assert rezultat.get_valoare() == '261' numarA = Numar('130', 10) numarB = Numar('0', 10) rezultat = repo.multiply(numarA, numarB, 10) assert rezultat.get_valoare() == '0' numarA = Numar('10', 10) numarB = Numar('10', 10) rezultat = repo.multiply(numarA, numarB, 10) assert rezultat.get_valoare() == '100' numarA = Numar('34', 5) numarB = Numar('12', 5) rezultat = repo.multiply(numarA, numarB, 5) assert rezultat.get_valoare() == '1013' numarA = Numar('1010', 2) numarB = Numar('11101', 2) rezultat = repo.multiply(numarA, numarB, 2) assert rezultat.get_valoare() == '100100010'
def __test_repo_convert_base16_to_base2(self): ''' Functie care verifica daca conversia unui numar din baza 16 in baza 2 a fost realizata cu succes ''' repo = Repo() numar = Numar('25AF', 16) rezultat = repo.convert_base16_to_base2(numar) assert rezultat.get_valoare() == '10010110101111' assert rezultat.get_baza() == 2 numar = Numar('60BC', 16) rezultat = repo.convert_base16_to_base2(numar) assert rezultat.get_valoare() == '110000010111100' numar = Numar('D179', 16) rezultat = repo.convert_base16_to_base2(numar) assert rezultat.get_valoare() == '1101000101111001' numar = Numar('348E', 16) rezultat = repo.convert_base16_to_base2(numar) assert rezultat.get_valoare() == '11010010001110' numar = Numar('63', 10) try: rezultat = repo.convert_base16_to_base2(numar) assert False except RepoError as re: assert str(re) == "Baza nevalida!\n"
def __test_repo_convert_base2_to_base16(self): ''' Functie care verifica daca conversia unui numar din baza 2 in baza 16 a fost realizata cu succes ''' repo = Repo() numar = Numar('101111110101', 2) rezultat = repo.convert_base2_to_base16(numar) assert rezultat.get_valoare() == 'BF5' assert rezultat.get_baza() == 16 numar = Numar('11100', 2) rezultat = repo.convert_base2_to_base16(numar) assert rezultat.get_valoare() == '1C' numar = Numar('101101', 2) rezultat = repo.convert_base2_to_base16(numar) assert rezultat.get_valoare() == '2D' numar = Numar('1001110', 2) rezultat = repo.convert_base2_to_base16(numar) assert rezultat.get_valoare() == '4E' numar = Numar('110001', 5) try: rezultat = repo.convert_base2_to_base16(numar) assert False except RepoError as re: assert str(re) == "Baza nevalida!\n"
def __test_repo_convert_base8_to_base2(self): ''' Functie care verifica daca conversia unui numar din baza 8 in baza 2 a fost realizata cu succes ''' repo = Repo() numar = Numar('1430', 8) rezultat = repo.convert_base8_to_base2(numar) assert rezultat.get_valoare() == '1100011000' assert rezultat.get_baza() == 2 numar = Numar('7256', 8) rezultat = repo.convert_base8_to_base2(numar) assert rezultat.get_valoare() == '111010101110' numar = Numar('23', 7) try: rezultat = repo.convert_base8_to_base2(numar) assert False except RepoError as re: assert str(re) == "Baza nevalida!\n"
def __test_repo_impartiri_succesive(self): ''' Functie test care verifica daca un numar a fost convertit cu succes prin imparitiri succesive ''' repo = Repo() numar = Numar('34', 10) rezultat = repo.convert_impartiri_succesive(numar, 2) assert rezultat.get_valoare() == '100010' assert rezultat.get_baza() == 2 numar = Numar('63', 10) rezultat = repo.convert_impartiri_succesive(numar, 16) assert rezultat.get_valoare() == '3F' assert rezultat.get_baza() == 16 numar = Numar('43', 10) rezultat = repo.convert_impartiri_succesive(numar, 3) assert rezultat.get_valoare() == '1121' assert rezultat.get_baza() == 3 numar = Numar('17', 9) try: rezultat = repo.convert_impartiri_succesive(numar, 3) assert False except RepoError as re: assert str(re) == "Baza nevalida!\n"
def __test_repo_divide(self): ''' Functie de tip test care verifica daca impartirea a doua numere intr-o anumita baza a fost realizata cu succes ''' repo = Repo() numarA = Numar('243', 5) numarB = Numar('3', 5) cat, rest = repo.divide(numarA, numarB, 5) assert cat.get_valoare() == '44' assert cat.get_baza() == 5 assert rest.get_valoare() == '1' assert rest.get_baza() == 5 numarA = Numar('8140', 10) numarB = Numar('3', 10) cat, rest = repo.divide(numarA, numarB, 10) assert cat.get_valoare() == '2713' assert cat.get_baza() == 10 assert rest.get_valoare() == '1' assert rest.get_baza() == 10 numarA = Numar('A5', 16) numarB = Numar('D', 16) cat, rest = repo.divide(numarA, numarB, 16) assert cat.get_valoare() == 'C' assert cat.get_baza() == 16 assert rest.get_valoare() == '9' assert rest.get_baza() == 16 numberA = Numar('100', 10) numberB = Numar('10', 10) quotient, remainder = repo.divide(numberA, numberB, 10) assert quotient.get_valoare() == '10' assert quotient.get_baza() == 10 assert remainder.get_valoare() == '0' assert remainder.get_baza() == 10 numberA = Numar('325', 10) numberB = Numar('17', 10) quotient, remainder = repo.divide(numberA, numberB, 10) assert quotient.get_valoare() == '19' assert remainder.get_valoare() == '2' numberA = Numar('1111', 2) numberB = Numar('100', 2) quotient, remainder = repo.divide(numberA, numberB, 2) assert quotient.get_valoare() == '11' assert quotient.get_baza() == 2 assert remainder.get_valoare() == '11' assert remainder.get_baza() == 2
def __test_repo_substract(self): ''' Functie de tip test care verifica daca scaderea a doua numere intr-o anumita baza a fost realizata cu succes ''' repo = Repo() numarA = Numar('54', 6) numarB = Numar('32', 6) rezultat = repo.substract(numarA, numarB, 6) assert rezultat.get_valoare() == '22' assert rezultat.get_baza() == 6 numarA = Numar('54', 6) numarB = Numar('35', 6) rezultat = repo.substract(numarA, numarB, 6) assert rezultat.get_valoare() == '15' numarA = Numar('54', 6) numarB = Numar('45', 6) rezultat = repo.substract(numarA, numarB, 6) assert rezultat.get_valoare() == '5' numarA = Numar('154', 6) numarB = Numar('55', 6) rezultat = repo.substract(numarA, numarB, 6) assert rezultat.get_valoare() == '55' numarA = Numar('AB', 16) numarB = Numar('3C', 16) rezultat = repo.substract(numarA, numarB, 16) assert rezultat.get_valoare() == '6F' assert rezultat.get_baza() == 16 numarA = Numar('127', 10) numarB = Numar('30', 10) rezultat = repo.substract(numarA, numarB, 10) assert rezultat.get_valoare() == '97' assert rezultat.get_baza() == 10 numarA = Numar('13', 10) numarB = Numar('13', 10) rezultat = repo.substract(numarA, numarB, 10) assert rezultat.get_valoare() == '0' assert rezultat.get_baza() == 10
def __test_repo_add(self): ''' Functie de tip test care verifica daca adunarea a doua numere intr-o anumita baza a fost realizata cu succes ''' repo = Repo() numarA = Numar('120', 3) numarB = Numar('102', 3) rezultat = repo.add(numarA, numarB, 3) assert rezultat.get_valoare() == '222' assert rezultat.get_baza() == 3 numarA = Numar('120', 3) numarB = Numar('110', 3) rezultat = repo.add(numarA, numarB, 3) assert rezultat.get_valoare() == '1000' numarA = Numar('2A', 16) numarB = Numar('14', 16) rezultat = repo.add(numarA, numarB, 16) assert rezultat.get_valoare() == '3E' assert rezultat.get_baza() == 16 numarA = Numar('2A', 16) numarB = Numar('17', 16) rezultat = repo.add(numarA, numarB, 16) assert rezultat.get_valoare() == '41' numarA = Numar('1235', 10) numarB = Numar('0', 10) rezultat = repo.add(numarA, numarB, 10) assert rezultat.get_valoare() == '1235' assert rezultat.get_baza() == 10 numarA = Numar('1235', 10) numarB = Numar('65', 10) rezultat = repo.add(numarA, numarB, 10) assert rezultat.get_valoare() == '1300' numarA = Numar('', 10) numarB = Numar('6', 10) rezultat = repo.add(numarA, numarB, 10) assert rezultat.get_valoare() == '6'
def __test_repo_convert_to_another_base(self): ''' Functie test care verifica daca un numar este convertit dintr-o baza in alta cu succes ''' repo = Repo() numar = Numar('120', 3) rezultat = repo.convert_to_another_base(numar, 7) assert rezultat.get_valoare() == '21' assert rezultat.get_baza() == 7 numar = Numar('A7', 16) rezultat = repo.convert_to_another_base(numar, 5) assert rezultat.get_valoare() == '1132' assert rezultat.get_baza() == 5 numar = Numar('35', 10) rezultat = repo.convert_to_another_base(numar, 2) assert rezultat.get_valoare() == '100011' assert rezultat.get_baza() == 2 numar = Numar('163', 9) rezultat = repo.convert_to_another_base(numar, 10) assert rezultat.get_valoare() == '138' assert rezultat.get_baza() == 10 numar = Numar('150', 10) rezultat = repo.convert_to_another_base(numar, 10) assert rezultat.get_valoare() == '150' assert rezultat.get_baza() == 10 numar = Numar('1EF', 16) rezultat = repo.convert_to_another_base(numar, 2) assert rezultat.get_valoare() == '111101111' assert rezultat.get_baza() == 2 numar = Numar('10101011', 2) rezultat = repo.convert_to_another_base(numar, 8) assert rezultat.get_valoare() == '253' assert rezultat.get_baza() == 8
def __test_service_divide(self): ''' Functie test care verifica daca impartirea a doua numere a fost realizata cu succes ''' repo = Repo() validator = Validator() serviceNumere = ServiceNumere(repo, validator) cat, rest = serviceNumere.divide('42', '3', 7, 4, 16) assert cat.get_valoare() == 'A' assert cat.get_baza() == 16 assert rest.get_valoare() == '0' assert rest.get_baza() == 16 cat, rest = serviceNumere.divide('10', '2', 3, 5, 4) assert cat.get_valoare() == '1' assert cat.get_baza() == 4 assert rest.get_valoare() == '1' assert rest.get_baza() == 4 cat, rest = serviceNumere.divide('79B', '2', 16, 3, 16) assert cat.get_valoare() == '3CD' assert cat.get_baza() == 16 assert rest.get_valoare() == '1' assert cat.get_baza() == 16 quotient, remainder = serviceNumere.divide('20', '8', 7, 9, 2) assert quotient.get_valoare() == '1' assert quotient.get_baza() == 2 assert remainder.get_valoare() == '110' assert remainder.get_baza() == 2 quotient, remainder = serviceNumere.divide('37E', '78', 16, 9, 16) assert quotient.get_valoare() == 'C' assert quotient.get_baza() == 16 assert remainder.get_valoare() == '2A' assert remainder.get_baza() == 16 try: quotient, remainder = serviceNumere.divide('120', '0', 3, 8, 10) assert False except RepoError as re: assert str(re) == "Divide by 0!\n"
def __test_service_add(self): ''' Functie test care verifica daca adunarea a doua numere a fost realizata cu succes ''' repo = Repo() validator = Validator() serviceNumere = ServiceNumere(repo, validator) rezultat = serviceNumere.add('15', '47', 3, 8, 5) assert rezultat.get_valoare() == '142' assert rezultat.get_baza() == 5 rezultat = serviceNumere.add('23', '47', 10, 10, 10) assert rezultat.get_valoare() == '70' assert rezultat.get_baza() == 10 rezultat = serviceNumere.add('F5', '72', 16, 8, 2) assert rezultat.get_valoare() == '100101111' assert rezultat.get_baza() == 2 rezultat = serviceNumere.add('37', '32', 9, 4, 6) assert rezultat.get_valoare() == '120' assert rezultat.get_baza() == 6
def __test_repo_subtitutie(self): ''' Functie de tip test care verifica daca conversia prin metoda subtitutiei a unui numar a fost realizata cu succes ''' repo = Repo() numar = Numar('1010', 2) rezultat = repo.convert_subtitutie(numar) assert rezultat.get_valoare() == '10' assert rezultat.get_baza() == 10 numar = Numar('153', 6) rezultat = repo.convert_subtitutie(numar) assert rezultat.get_valoare() == '69' numar = Numar('A3', 16) rezultat = repo.convert_subtitutie(numar) assert rezultat.get_valoare() == '163' numar = Numar('132', 10) try: rezultat = repo.convert_subtitutie(numar) assert False except RepoError as re: assert str(re) == "Baza nevalida!\n"
''' @author: Dascalu Cosmin-Andrei ''' from domeniu.entitati import Numar from valid.validatoare import Validator from teste.teste import Teste from infrastrctura.repos import Repo from business.services import ServiceNumere from prezentare.ui import Console teste = Teste() teste.ruleaza_toate_testele() repo = Repo() valid = Validator() serviceNumere = ServiceNumere(repo, valid) consola = Console(serviceNumere) consola.runProcess()