def test_remover_a_esquerda_lista_1_elemento(self): lista = ListaDuplamenteLigada() lista.adicionar(0) self.assertEqual(0, lista.remover_a_esquerda()) self.assertEqual(0, lista.tam) self.assertIsNone(lista.primeiro) self.assertIsNone(lista.ultimo)
def test_iterar_lista_reversed_nao_vazia(self): lista = ListaDuplamenteLigada() numeros = list(range(3)) for n in numeros: lista.adicionar(n) for i, elemento_da_lista in zip(reversed(range(3)), reversed(lista)): self.assertEqual(i, elemento_da_lista)
def test_adicionar_primeiro_a_esquerda(self): lista = ListaDuplamenteLigada() lista.adicionar_a_esquerda(0) self.assertEqual(1, lista.tam) primeiro = lista.primeiro self.assertEqual(0, primeiro.valor) self.assertEqual(primeiro, lista.ultimo) self.assertIsNone(primeiro.esquerdo) self.assertIsNone(primeiro.direito)
def test_remover_a_esquerda_lista_2_elementos(self): lista = ListaDuplamenteLigada() lista.adicionar(0) lista.adicionar(1) self.assertEqual(0, lista.remover_a_esquerda()) self.assertEqual(1, lista.tam) primeiro = lista.primeiro self.assertEqual(primeiro, lista.ultimo) self.assertEqual(1, primeiro.valor) self.assertIsNone(primeiro.direito) self.assertIsNone(primeiro.esquerdo)
def test_adicionar_segundo_a_esquerda(self): lista = ListaDuplamenteLigada() lista.adicionar_a_esquerda(0) lista.adicionar_a_esquerda(1) self.assertEqual(2, lista.tam) primeiro = lista.primeiro self.assertEqual(1, primeiro.valor) ultimo = lista.ultimo self.assertEqual(0, ultimo.valor) self.assertEqual(primeiro, ultimo.esquerdo) self.assertEqual(ultimo, primeiro.direito) self.assertIsNone(primeiro.esquerdo) self.assertIsNone(ultimo.direito)
def test_len(self): lista = ListaDuplamenteLigada() self.assertEqual(0, len(lista)) lista.adicionar_a_esquerda(0) lista.adicionar_a_esquerda(1) lista.adicionar_a_esquerda(2) self.assertEqual(3, len(lista))
def test_remover_lista_3_elementos(self): lista = ListaDuplamenteLigada() lista.adicionar(0) lista.adicionar(1) lista.adicionar(2) self.assertEqual(2, lista.remover()) self.assertEqual(2, lista.tam) primeiro = lista.primeiro ultimo = lista.ultimo self.assertEqual(ultimo, primeiro.direito) self.assertEqual(primeiro, ultimo.esquerdo) self.assertEqual(0, primeiro.valor) self.assertEqual(1, ultimo.valor) self.assertIsNone(primeiro.esquerdo) self.assertIsNone(ultimo.direito)
def test_adicionar_terceiro(self): lista = ListaDuplamenteLigada() lista.adicionar(0) lista.adicionar(1) lista.adicionar(2) self.assertEqual(3, lista.tam) primeiro = lista.primeiro self.assertEqual(0, primeiro.valor) ultimo = lista.ultimo segundo = primeiro.direito self.assertEqual(1, segundo.valor) self.assertEqual(2, ultimo.valor) self.assertEqual(primeiro, segundo.esquerdo) self.assertEqual(segundo, ultimo.esquerdo) self.assertEqual(ultimo, segundo.direito) self.assertIsNone(primeiro.esquerdo) self.assertIsNone(ultimo.direito)
def test_init(self): lista = ListaDuplamenteLigada() self.assertEqual(0, lista.tam) self.assertIsNone(lista.primeiro) self.assertIsNone(lista.ultimo)
def test_iterar_reversed_lista_vazia(self): lista = ListaDuplamenteLigada() for i in reversed(lista): self.fail('Não deveria executar nada')
def test_remover_a_esquerda_lista_vazia(self): lista = ListaDuplamenteLigada() self.assertRaises(ListaVaziaErro, lista.remover_a_esquerda)