def test_quando_CriarLivrosTitulosIguais_DisparaException(
            self, colecao_de_livro, hoje_em_string):
        titulo = "Machine Learning em COBOL"

        livro1 = Livro(titulo, 'M' * 500, '<br> **** \n <html>' * 50, 50.20,
                       150, '978-3-16-148410-0', hoje_em_string,
                       'Machine Learning')

        livro2 = Livro(titulo, 'M' * 500, '<br> **** \n <html>' * 50, 50.20,
                       150, '753-3-16-148410-0', hoje_em_string,
                       'Machine Learning')

        colecao_de_livro.incluir(livro1)
        with pytest.raises(Exception):
            colecao_de_livro.incluir(livro2)
Esempio n. 2
0
    def addLivro(self, livro: Livro) -> None:

        if not isinstance(livro, Livro):
            raise Exception("Nao eh objeto da classe Livro")

        self.__lista[livro] = self.__lista[livro] + 1

        self.__total += livro.get_preco()
    def test_quando_CriarMultiplosLivros_NaoDisparaException(
            self, colecao_de_livro, hoje_em_string):
        livro1 = Livro("Machine Learning em COBOL", 'M' * 500,
                       '<br> **** \n <html>' * 50, 50.20, 150,
                       '978-3-16-148410-0', hoje_em_string, 'Machine Learning')
        livro2 = Livro("Data Science em COBOL", 'M' * 500,
                       '<br> **** \n <html>' * 50, 50.20, 150,
                       '123-3-16-148410-0', hoje_em_string, 'Data Science')
        livro3 = Livro("Mobile em COBOL", 'M' * 500,
                       '<br> **** \n <html>' * 50, 50.20, 150,
                       '456-3-16-148410-0', hoje_em_string, 'Mobile')

        colecao_de_livro.incluir(livro1)
        colecao_de_livro.incluir(livro2)
        colecao_de_livro.incluir(livro3)

        assert 3 == len(colecao_de_livro.lista)
Esempio n. 4
0
    def test_qdo_CriaLivroPrecoNulo_dispara_Exception(self, colecao_autores):

        preco = None  # Obrigatorio

        with pytest.raises(Exception):
            Livro(colecao_autores['titulo'], colecao_autores['resumo'],
                  colecao_autores['sumario'], preco,
                  colecao_autores['num_paginas'], colecao_autores['isbn'],
                  colecao_autores['data'], colecao_autores['categoria'])
Esempio n. 5
0
    def test_qdo_CriaLivroIsbnNaoFormatado_NaoDispara_Exception(
            self, colecao_autores):

        isbn = '9783161484100'  # formato livre

        Livro(colecao_autores['titulo'], colecao_autores['resumo'],
              colecao_autores['sumario'], colecao_autores['preco'],
              colecao_autores['num_paginas'], isbn, colecao_autores['data'],
              colecao_autores['categoria'])
Esempio n. 6
0
    def test_qdo_CriaLivroIsbnNulo_dispara_Exception(self, colecao_autores):

        isbn = None  # obrigatorio

        with pytest.raises(Exception):
            Livro(colecao_autores['titulo'], colecao_autores['resumo'],
                  colecao_autores['sumario'], colecao_autores['preco'],
                  colecao_autores['num_paginas'], isbn,
                  colecao_autores['data'], colecao_autores['categoria'])
Esempio n. 7
0
    def test_qdo_CriaLivroPreenorQue20_dispara_Exception(
            self, colecao_autores):

        preco = 19.99  # a partir de 20

        with pytest.raises(Exception):
            Livro(colecao_autores['titulo'], colecao_autores['resumo'],
                  colecao_autores['sumario'], preco,
                  colecao_autores['num_paginas'], colecao_autores['isbn'],
                  colecao_autores['data'], colecao_autores['categoria'])
Esempio n. 8
0
    def test_qdo_CriaLivroResumoMais500Chars_dispara_Exception(
            self, colecao_autores):

        resumo = 'M' * 501  # Até 500

        with pytest.raises(Exception):
            Livro(colecao_autores['titulo'], resumo,
                  colecao_autores['sumario'], colecao_autores['preco'],
                  colecao_autores['num_paginas'], colecao_autores['isbn'],
                  colecao_autores['data'], colecao_autores['categoria'])
Esempio n. 9
0
    def test_qdo_CriaLivroCategoriaNulo_dispara_Exception(
            self, colecao_autores):

        categoria = None  # nao nula

        with pytest.raises(Exception):
            Livro(colecao_autores['titulo'], colecao_autores['resumo'],
                  colecao_autores['sumario'], colecao_autores['preco'],
                  colecao_autores['num_paginas'], colecao_autores['isbn'],
                  colecao_autores['data'], categoria)
Esempio n. 10
0
    def test_qdo_CriaLivroNumDePagMenorQue100_dispara_Exception(
            self, colecao_autores):

        num_paginas = 99  # a partir de 100

        with pytest.raises(Exception):
            Livro(colecao_autores['titulo'], colecao_autores['resumo'],
                  colecao_autores['sumario'], colecao_autores['preco'],
                  num_paginas, colecao_autores['isbn'],
                  colecao_autores['data'], colecao_autores['categoria'])
Esempio n. 11
0
    def colecao_de_livro(self):
        colecao_de_livro = ColecaoDeLivro()
        hoje_em_string = datetime.today().date().strftime('%d/%m/%Y')

        livro1 = Livro("Machine Learning em COBOL", 'M' * 500,
                       '<br> **** \n <html>' * 50, 30.20, 150,
                       '978-3-16-148410-0', hoje_em_string, 'Machine Learning')
        livro2 = Livro("Data Science em COBOL", 'M' * 500,
                       '<br> **** \n <html>' * 50, 29.80, 150,
                       '123-3-16-148410-0', hoje_em_string, 'Data Science')
        livro3 = Livro("Mobile em COBOL", 'M' * 500,
                       '<br> **** \n <html>' * 50, 55.20, 150,
                       '456-3-16-148410-0', hoje_em_string, 'Mobile')

        colecao_de_livro.incluir(livro1)
        colecao_de_livro.incluir(livro2)
        colecao_de_livro.incluir(livro3)

        return colecao_de_livro
Esempio n. 12
0
    def test_qdo_CriaLivroDataMenorDataAtual_dispara_Exception(
            self, colecao_autores):
        hoje = datetime.today().date()
        ontem = hoje - timedelta(days=1)
        data = ontem.strftime('%d/%m/%Y')  # data futuro

        with pytest.raises(Exception):
            Livro(colecao_autores['titulo'], colecao_autores['resumo'],
                  colecao_autores['sumario'], colecao_autores['preco'],
                  colecao_autores['num_paginas'], colecao_autores['isbn'],
                  data, colecao_autores['categoria'])
    def test_quando_BuscaTituloIncompleto_RetornaMultLivro(
            self, colecao_de_livro, hoje_em_string):
        livro1 = Livro("Machine Learning em COBOL", 'M' * 500,
                       '<br> **** \n <html>' * 50, 50.20, 150,
                       '978-3-16-148410-0', hoje_em_string, 'Machine Learning')
        livro2 = Livro("Machine Learning em Go", 'M' * 500,
                       '<br> **** \n <html>' * 50, 50.20, 150,
                       '123-3-16-148410-0', hoje_em_string, 'Data Science')
        livro3 = Livro("Machine Learning em Python", 'M' * 500,
                       '<br> **** \n <html>' * 50, 50.20, 150,
                       '456-3-16-148410-0', hoje_em_string, 'Mobile')

        colecao_de_livro.incluir(livro1)
        colecao_de_livro.incluir(livro2)
        colecao_de_livro.incluir(livro3)

        titulo_incompleto = "Machine"
        livro_retornado = colecao_de_livro.busca_livro(titulo_incompleto)

        assert 3 == len(livro_retornado)
    def test_qdo_BuscaLivroCadastrado_RetornaLivro(self, colecao_de_livro,
                                                   hoje_em_string):
        titulo = "Machine Learning em COBOL"

        livro1 = Livro(titulo, 'M' * 500, '<br> **** \n <html>' * 50, 50.20,
                       150, '978-3-16-148410-0', hoje_em_string,
                       'Machine Learning')

        colecao_de_livro.incluir(livro1)

        livro_retornado = colecao_de_livro.busca_livro(titulo).pop()

        assert titulo == livro_retornado.get_titulo()
Esempio n. 15
0
    def test_qdo_CriarLivro_NaoDispara_Exception(self, colecao_autores):

        Livro(colecao_autores['titulo'], colecao_autores['resumo'],
              colecao_autores['sumario'], colecao_autores['preco'],
              colecao_autores['num_paginas'], colecao_autores['isbn'],
              colecao_autores['data'], colecao_autores['categoria'])
Esempio n. 16
0
from src.livro import Livro
from src.colecaoLivro import ColecaoDeLivro
from src.carrinho import Carrinho
from src.cupons import Cupons

from datetime import datetime


colecao_de_livro = ColecaoDeLivro()
hoje_em_string = datetime.today().date().strftime('%d/%m/%Y')

livro1 = Livro("Machine Learning em COBOL",
               'M'*500, '<br> **** \n <html>'*50,
               30.20, 150, '978-3-16-148410-0',
               hoje_em_string, 'Machine Learning')
livro2 = Livro("Data Science em COBOL",
               'M'*500, '<br> **** \n <html>'*50,
               29.80, 150, '123-3-16-148410-0',
               hoje_em_string, 'Data Science')
livro3 = Livro("Mobile em COBOL",
               'M'*500, '<br> **** \n <html>'*50,
               55.20, 150, '456-3-16-148410-0',
               hoje_em_string, 'Mobile')

colecao_de_livro.incluir(livro1)
colecao_de_livro.incluir(livro2)
colecao_de_livro.incluir(livro3)

carrinho = Carrinho(Cupons())

titulo1 = "Machine Learning em COBOL"