def test_informacoes(self): estacao = Estacao(123, 'MAQ1-GRH', '500GB', '4GB', 'Setor RH') servidor = ServidorDeImpressora(1234, 'Ricks', 500, 4, 500, 6) impressora = Impressora(123, 'HP 2341', '100') servidor.adicionar_impressora(impressora) impressora.status = 'ocupada' arquivo = Arquivo('tcc.pdf', 20, 1) usuario = Usuario('linus', '1234') usuario.conectar_se_a_rede() usuario.enviar_arquivo_para_impressao(arquivo, usuario, impressora) estacao.listar_informacoes() |should| equal_to({'MAQ1-GRH': [123, 'linus', '19/09/2013 - 16:00'], \ 'arquivos': [['tcc.pdf', 1]]})
def test_lista_arquivos_em_espera_de_cada_impressora(self): usuario = Usuario('linus', '1234') estacao = Estacao(123, 'MAQ1-GRH', '500GB', '4GB', 'Setor RH') impressora1 = Impressora(123, 'HP 2341', '100') impressora2 = Impressora(456, 'HP 1111', '100') self.servidor.adicionar_impressora(impressora1) self.servidor.adicionar_impressora(impressora2) impressora1.status = 'ocupada' impressora2.status = 'ocupada' arquivo1 = Arquivo('tcc.pdf', 20, 1) arquivo2 = Arquivo('imagem.jpg', 20, 1) arquivo3 = Arquivo('texto.pdf', 20, 1) usuario.conectar_se_a_rede() usuario.enviar_arquivo_para_impressao(arquivo1, usuario, impressora1) usuario.enviar_arquivo_para_impressao(arquivo2, usuario, impressora1) usuario.enviar_arquivo_para_impressao(arquivo3, usuario, impressora2) self.servidor.listar_arquivos_em_espera_de_impressoras() \ |should| equal_to({'HP 2341': [['tcc.pdf', 'linus'], ['imagem.jpg', 'linus']], \ 'HP 1111': [['texto.pdf', 'linus']]})
class TestUsuario(unittest.TestCase): def setUp(self): self.usuario = Usuario('linus', '1234') Estacao.estacoes = [] def test_usuario_utiliza_estacao(self): estacao = Estacao(123, 'MAQ1-GRH', '500GB', '4GB', 'Setor RH') Estacao.adicionar_estacao(estacao) self.usuario.utilizar_estacao() self.usuario.estacao |should| equal_to(estacao) def test_se_nao_houver_estacao_disponivel_retorna_erro(self): (self.usuario.utilizar_estacao) |should| throw(TypeError("Nenhuma estacao disponivel")) def test_conectar_se_a_rede(self): estacao = Estacao(123, 'MAQ1-GRH', '500GB', '4GB', 'Setor RH') Estacao.adicionar_estacao(estacao) self.usuario.conectar_se_a_rede() self.usuario.status_da_conexao |should| equal_to('ativa') def test_so_pode_haver_uma_unica_conexao_por_usuario(self): estacao1 = Estacao(123, 'MAQ1-GRH', '500GB', '4GB', 'Setor RH') estacao2 = Estacao(456, 'MAQ2-CBB', '100GB', '2GB', 'Secretaria CBB') Estacao.adicionar_estacao(estacao1) Estacao.adicionar_estacao(estacao2) self.usuario.conectar_se_a_rede() (self.usuario.conectar_se_a_rede) |should| throw(TypeError("Usuario ja conectado a rede")) def test_desconectar_se_da_rede(self): estacao1 = Estacao(123, 'MAQ1-GRH', '500GB', '4GB', 'Setor RH') Estacao.adicionar_estacao(estacao1) self.usuario.conectar_se_a_rede() self.usuario.desconectar_se_da_rede() self.usuario.status_da_conexao |should| equal_to('desativada') def test_mostra_usuarios_ativos(self): estacao = Estacao(123, 'MAQ1-GRH', '500GB', '4GB', 'Setor RH') Estacao.adicionar_estacao(estacao) self.usuario.conectar_se_a_rede() Usuario.adicionar_usuario_ativo(self.usuario) Usuario.usuarios_ativos |should| equal_to([self.usuario]) def test_imprimir_arquivo(self): estacao = Estacao(123, 'MAQ1-GRH', '500GB', '4GB', 'Setor RH') servidor = ServidorDeImpressora(1234, 'Ricks', 500, 4, 500, 6) impressora = Impressora(123, 'HP 2341', '100') servidor.adicionar_impressora(impressora) arquivo = Arquivo('tcc.pdf', 20, 1) self.usuario.conectar_se_a_rede() self.usuario.enviar_arquivo_para_impressao(arquivo, self.usuario, impressora) |should| equal_to('Impressao realizada com sucesso') def test_imprimir_dois_arquivos_iguais_para_mesmo_usuario_altera_numero_de_copias(self): estacao = Estacao(123, 'MAQ1-GRH', '500GB', '4GB', 'Setor RH') servidor = ServidorDeImpressora(1234, 'Ricks', 500, 4, 500, 6) impressora = Impressora(123, 'HP 2341', '100') impressora.status = 'ocupada' servidor.adicionar_impressora(impressora) arquivo1 = Arquivo('tcc.pdf', 20, 1) arquivo2 = Arquivo('tcc.pdf', 20, 1) self.usuario.conectar_se_a_rede() self.usuario.enviar_arquivo_para_impressao(arquivo1, self.usuario, impressora) self.usuario.enviar_arquivo_para_impressao(arquivo2, self.usuario, impressora) servidor.arquivos_em_espera[0][0].copias |should| equal_to(2)