*** COMPILING IN ef/checked-out/016
                           A-01-32-M-ok.in                           
Running: Running: TEST PASSED!
                           A-01-33-M-ok.in                           
Running: Running: *** expected/A-01-33-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-01-33-M-ok.out	Sat Oct 26 19:55:17 2024
      ZONE  1      
*** 19,29 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|H1|Aldeia dos Macacos|20|3
- ÁRVORE|T1|Pinheiro 1|5|20|PERENE|GERARFOLHAS
- ÁRVORE|T2|Oliveira|1200|10|PERENE|GERARFOLHAS
- ÁRVORE|T4|Pinheiro 4|60|20|PERENE|GERARFOLHAS
  HABITAT|H2|Aldeia dos Ursos|20|1
- ÁRVORE|T6|Figueira|5|10|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 19,25 ----
output differs from expected
                           A-01-34-M-ok.in                           
Running: Running: *** expected/A-01-34-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-01-34-M-ok.out	Sat Oct 26 19:55:17 2024
      ZONE  1      
*** 47,53 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Guardar antes de fechar? Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 47,53 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  2      
*** 59,64 ****
--- 59,65 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
output differs from expected
                           A-01-35-M-ok.in                           
Running: Running: *** expected/A-01-35-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-01-35-M-ok.out	Sat Oct 26 19:55:17 2024
      ZONE  1      
*** 47,53 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Guardar antes de fechar? Ficheiro sem nome. Guardar ficheiro como: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 47,53 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  2      
*** 59,64 ****
--- 59,66 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
+ Escolha uma opção: Número inválido!
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
output differs from expected
                           A-01-36-M-ok.in                           
Running: Running: TEST PASSED!
                           A-02-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-02-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-02-03-M-ok.in                           
Running: Running: TEST PASSED!
                           A-02-04-M-ok.in                           
Running: Running: TEST PASSED!
                           A-02-05-M-ok.in                           
Running: Running: *** expected/A-02-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-02-05-M-ok.out	Sat Oct 26 19:55:18 2024
      ZONE  1      
*** 19,31 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|AA1|Aldeia dos Macacos 4|50|0
- HABITAT|ab1|Aldeia dos Macacos 7|50|0
  HABITAT|AR2|Aldeia dos Macacos 1|200|0
  HABITAT|BB2|Aldeia dos Macacos 3|200|0
  HABITAT|MM1|Aldeia dos Macacos 2|200|0
  HABITAT|mm2|Aldeia dos Macacos 6|200|0
  HABITAT|yy1|Aldeia dos Macacos 8|50|0
- HABITAT|ZZ1|Aldeia dos Macacos|20|0
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 19,31 ----
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|AA1|Aldeia dos Macacos 4|50|0
  HABITAT|AR2|Aldeia dos Macacos 1|200|0
  HABITAT|BB2|Aldeia dos Macacos 3|200|0
  HABITAT|MM1|Aldeia dos Macacos 2|200|0
+ HABITAT|ZZ1|Aldeia dos Macacos|20|0
+ HABITAT|ab1|Aldeia dos Macacos 7|50|0
  HABITAT|mm2|Aldeia dos Macacos 6|200|0
  HABITAT|yy1|Aldeia dos Macacos 8|50|0
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
output differs from expected
                           A-02-06-M-ok.in                           
Running: Running: *** expected/A-02-06-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-02-06-M-ok.out	Sat Oct 26 19:55:18 2024
      ZONE  1      
*** 19,30 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|h1|nome2|12|2
- ÁRVORE|T1|Pinheiro 4|60|20|PERENE|GERARFOLHAS
- ÁRVORE|T3|Figueira|5|10|CADUCA|GERARFOLHAS
  HABITAT|h2|outro nome|122|0
  HABITAT|h3|nome1|1222|2
- ÁRVORE|T2|Oliveira|120|10|PERENE|GERARFOLHAS
- ÁRVORE|T4|Plátano|30|20|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 19,26 ----
output differs from expected
                           A-02-07-M-ok.in                           
Running: Running: *** expected/A-02-07-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-02-07-M-ok.out	Sat Oct 26 19:55:18 2024
      ZONE  1      
*** 19,28 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|h1|nome2|12|4
- ÁRVORE|T1|Pinheiro 4|60|20|PERENE|GERARFOLHAS
- ÁRVORE|T2|Oliveira|120|10|PERENE|GERARFOLHAS
- ÁRVORE|T3|Figueira|5|10|CADUCA|GERARFOLHAS
- ÁRVORE|T4|Plátano|30|20|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 19,24 ----
output differs from expected
                           A-03-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-03-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-03-03-M-ok.in                           
Running: Running: TEST PASSED!
                           A-03-04-M-ok.in                           
Running: Running: *** expected/A-03-04-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-03-04-M-ok.out	Sat Oct 26 19:55:18 2024
      ZONE  1      
*** 26,33 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Nome do habitat: Área do habitat: Registar habitat: Operação inválida: O habitat 'aE' já existe.
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Nome do habitat: Área do habitat: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 36,41 ****
--- 35,41 ----
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|Ae|novo|230|0
+ HABITAT|aE|novissimo|300|0
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
output differs from expected
                           A-04-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-04-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-04-03-M-ok.in                           
Running: Running: *** expected/A-04-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-04-03-M-ok.out	Sat Oct 26 19:55:18 2024
      ZONE  1      
*** 16,28 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 24
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,28 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  2      
*** 79,98 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 74
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 74
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 79,98 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-05-01-M-ok.in                           
Running: Running: *** expected/A-05-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-05-01-M-ok.out	Sat Oct 26 19:55:18 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Alterar influência de habitat sobre espécie: Operação inválida: O habitat 'H1' não existe.
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,34 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Alterar influência de habitat sobre espécie: Operação inválida: A espécie 'C3' não existe.
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
output differs from expected
                           A-05-02-M-ok.in                           
Running: Running: *** expected/A-05-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-05-02-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 18,24 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Influência (positiva, negativa, neutra: POS, NEG, NEU): Influência (positiva, negativa, neutra: POS, NEG, NEU): Influência (positiva, negativa, neutra: POS, NEG, NEU): Influência (positiva, negativa, neutra: POS, NEG, NEU): Influência (positiva, negativa, neutra: POS, NEG, NEU): Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 26,31 ****
--- 26,37 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
+ Escolha uma opção: Número inválido!
+ Escolha uma opção: Número inválido!
+ Escolha uma opção: Número inválido!
+ Escolha uma opção: Número inválido!
+ Escolha uma opção: Número inválido!
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-05-03-M-ok.in                           
Running: Running: *** expected/A-05-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-05-03-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 16,28 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 24
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,28 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  2      
*** 69,88 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 44
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 24
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 69,88 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  3      
*** 129,141 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 24
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 129,141 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  4      
*** 202,214 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 44
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 202,214 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  5      
*** 275,294 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 4
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 24
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 275,294 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  6      
*** 335,347 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 24
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 335,347 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  7      
*** 388,400 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 4
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 388,400 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  8      
*** 449,461 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 24
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 449,461 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-06-01-M-ok.in                           
Running: Running: *** expected/A-06-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-06-01-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 10,17 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,16 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  2      
*** 23,30 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 22,28 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
output differs from expected
                           A-06-02-M-ok.in                           
Running: Running: *** expected/A-06-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-06-02-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 10,17 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,16 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  2      
*** 23,30 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 22,28 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  3      
*** 36,43 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 34,40 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  4      
*** 49,56 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 0
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 46,52 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  5      
*** 62,69 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 58,64 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  6      
*** 75,82 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 70,76 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
output differs from expected
                           A-06-03-M-ok.in                           
Running: Running: *** expected/A-06-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-06-03-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 22,29 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 22,28 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
output differs from expected
                           A-07-01-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Habitat.showAllTrees()" because "" is null
	at hva.core.Hotel.showAllTreesInHabitat(Hotel.java:354)
	at hva.app.habitat.DoShowAllTreesInHabitat.execute(DoShowAllTreesInHabitat.java:24)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenHabitatsMenu.execute(DoOpenHabitatsMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
execution failed
*** expected/A-07-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-01-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 34,58 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Mostrar árvores de habitat: Operação inválida: O habitat 'h2' não existe.
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 34,37 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: 
\ No newline at end of file
output differs from expected
                           A-07-02-M-ok.in                           
Running: Running: *** expected/A-07-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-02-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Plantar árvore: Operação inválida: O habitat 'h1' não existe.
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,33 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 26,33 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  3      
*** 39,42 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 39,42 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-07-03-M-ok.in                           
Running: Running: *** expected/A-07-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-03-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 26,33 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Plantar árvore: Operação inválida: O habitat 'hh' não existe.
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 35,41 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 34,41 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  3      
*** 47,50 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 47,50 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-07-04-M-ok.in                           
Running: Running: *** expected/A-07-04-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-04-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 26,33 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a1|nome34|1|2|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 35,49 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
- Escolha uma opção: Identificador único do habitat: ÁRVORE|a1|nome34|1|2|CADUCA|GERARFOLHAS
- Gestão de Habitats
- 1 - Visualizar todos os habitats
- 2 - Registar habitat
- 3 - Alterar área de habitat
- 4 - Alterar influência de habitat sobre espécie
- 5 - Plantar árvore
- 6 - Mostrar árvores de habitat
- 0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 34,39 ----
      ZONE  3      
*** 56,59 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 46,49 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-07-05-M-ok.in                           
Running: Running: *** expected/A-07-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-05-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Plantar árvore: Operação inválida: A árvore 'T1' já existe.
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,33 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 26,33 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  3      
*** 39,42 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 39,42 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-07-06-M-ok.in                           
Running: Running: *** expected/A-07-06-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-06-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Plantar árvore: Operação inválida: A árvore 't1' já existe.
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,33 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 26,33 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  3      
*** 39,42 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 39,42 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-07-07-M-ok.in                           
Running: Running: *** expected/A-07-07-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-07-M-ok.out	Sat Oct 26 19:55:19 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|t4|nome|12|1|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,33 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 26,33 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  3      
*** 39,42 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 39,42 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-07-08-M-ok.in                           
Running: Running: *** expected/A-07-08-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-08-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Plantar árvore: Operação inválida: A árvore 'T1' já existe.
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,40 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
- Escolha uma opção: Identificador único do habitat: Gestão de Habitats
- 1 - Visualizar todos os habitats
- 2 - Registar habitat
- 3 - Alterar área de habitat
- 4 - Alterar influência de habitat sobre espécie
- 5 - Plantar árvore
- 6 - Mostrar árvores de habitat
- 0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 26,31 ----
      ZONE  3      
*** 47,50 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 38,41 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-07-09-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Habitat.showAllTrees()" because "" is null
	at hva.core.Hotel.showAllTreesInHabitat(Hotel.java:354)
	at hva.app.habitat.DoShowAllTreesInHabitat.execute(DoShowAllTreesInHabitat.java:24)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenHabitatsMenu.execute(DoOpenHabitatsMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-07-09-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-09-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|B1|b1|2|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,34 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|P1|p1|3|4|PERENE|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 36,82 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|R1|r1|6|7|PERENE|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|X1|x1|10|12|CADUCA|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|A1|Pinheiro 1|5|20|PERENE|GERARFOLHAS
! ÁRVORE|B1|b1|2|3|CADUCA|GERARFOLHAS
! ÁRVORE|P1|p1|3|4|PERENE|GERARFOLHAS
! ÁRVORE|R1|r1|6|7|PERENE|GERARFOLHAS
! ÁRVORE|X1|x1|10|12|CADUCA|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 34,39 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Identificador único do habitat: 
\ No newline at end of file
output differs from expected
                           A-07-10-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Habitat.showAllTrees()" because "" is null
	at hva.core.Hotel.showAllTreesInHabitat(Hotel.java:354)
	at hva.app.habitat.DoShowAllTreesInHabitat.execute(DoShowAllTreesInHabitat.java:24)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenHabitatsMenu.execute(DoOpenHabitatsMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-07-10-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-10-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|B1|b1|2|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,34 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|P1|p1|3|4|PERENE|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 36,83 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|R1|r1|6|7|PERENE|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|X1|x1|10|12|CADUCA|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|5
! ÁRVORE|A1|Pinheiro 1|5|20|PERENE|GERARFOLHAS
! ÁRVORE|B1|b1|2|3|CADUCA|GERARFOLHAS
! ÁRVORE|P1|p1|3|4|PERENE|GERARFOLHAS
! ÁRVORE|R1|r1|6|7|PERENE|GERARFOLHAS
! ÁRVORE|X1|x1|10|12|CADUCA|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 34,39 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Identificador único do habitat: 
\ No newline at end of file
output differs from expected
                           A-07-11-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Habitat.showAllTrees()" because "" is null
	at hva.core.Hotel.showAllTreesInHabitat(Hotel.java:354)
	at hva.app.habitat.DoShowAllTreesInHabitat.execute(DoShowAllTreesInHabitat.java:24)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenHabitatsMenu.execute(DoOpenHabitatsMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-07-11-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-11-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|B1|b1|2|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,34 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|X1|x1|3|4|PERENE|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 36,96 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|A1|a1|6|7|PERENE|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|R1|r1|10|12|CADUCA|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|A1|a1|6|7|PERENE|GERARFOLHAS
! ÁRVORE|B1|b1|2|3|CADUCA|GERARFOLHAS
! ÁRVORE|P1|Pinheiro 1|5|20|PERENE|GERARFOLHAS
! ÁRVORE|R1|r1|10|12|CADUCA|GERARFOLHAS
! ÁRVORE|X1|x1|3|4|PERENE|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|5
! ÁRVORE|A1|a1|6|7|PERENE|GERARFOLHAS
! ÁRVORE|B1|b1|2|3|CADUCA|GERARFOLHAS
! ÁRVORE|P1|Pinheiro 1|5|20|PERENE|GERARFOLHAS
! ÁRVORE|R1|r1|10|12|CADUCA|GERARFOLHAS
! ÁRVORE|X1|x1|3|4|PERENE|GERARFOLHAS
! Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 34,39 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Identificador único do habitat: 
\ No newline at end of file
output differs from expected
                           A-07-12-M-ok.in                           
Running: Running: *** expected/A-07-12-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-12-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|t1|t1|1|1|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,58 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 1
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,33 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Opção inválida!
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 60,66 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|1|1|CADUCA|COMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 35,41 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|0|4|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  4      
*** 81,88 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 56,62 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  5      
*** 102,108 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|1|1|CADUCA|LARGARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 76,83 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|0|4|CADUCA|GERARFOLHAS
! ÁRVORE|t1|t1|0|4|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  6      
*** 123,130 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 98,104 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  7      
*** 144,150 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|1|1|CADUCA|SEMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 118,126 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|0|4|CADUCA|GERARFOLHAS
! ÁRVORE|t1|t1|0|4|CADUCA|GERARFOLHAS
! ÁRVORE|t1|t1|0|4|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
output differs from expected
                           A-07-13-M-ok.in                           
Running: Running: *** expected/A-07-13-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-13-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|t1|t1|1|1|PERENE|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,58 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 1
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,33 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Opção inválida!
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 60,66 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|1|1|PERENE|COMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 35,41 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|0|4|PERENE|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  4      
*** 81,88 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 56,62 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  5      
*** 102,108 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|1|1|PERENE|COMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 76,83 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|0|4|PERENE|GERARFOLHAS
! ÁRVORE|t1|t1|0|4|PERENE|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  6      
*** 123,130 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 98,104 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  7      
*** 144,150 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|1|1|PERENE|LARGARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 118,126 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|t1|t1|0|4|PERENE|GERARFOLHAS
! ÁRVORE|t1|t1|0|4|PERENE|GERARFOLHAS
! ÁRVORE|t1|t1|0|4|PERENE|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
output differs from expected
                           A-07-14-M-ok.in                           
Running: Running: *** expected/A-07-14-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-14-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 38,45 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a1|a1|1|1|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 38,44 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 47,86 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 1
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a2|a2|2|3|PERENE|COMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 46,52 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Opção inválida!
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  3      
*** 89,96 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a4|a4|4|3|CADUCA|COMFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 55,61 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  4      
*** 98,106 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|a1|a1|1|1|CADUCA|COMFOLHAS
! ÁRVORE|a2|a2|2|3|PERENE|COMFOLHAS
! ÁRVORE|a4|a4|4|3|CADUCA|COMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 63,69 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Área do habitat: Alterar área de habitat: Operação inválida: O habitat 'CADUCA' não existe.
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  5      
*** 109,114 ****
--- 72,78 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  6      
*** 121,128 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 85,91 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  7      
*** 142,150 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|a1|a1|1|1|CADUCA|LARGARFOLHAS
! ÁRVORE|a2|a2|2|3|PERENE|COMFOLHAS
! ÁRVORE|a4|a4|4|3|CADUCA|LARGARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 105,112 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|a1|a1|0|4|CADUCA|GERARFOLHAS
! ÁRVORE|a2|a2|5|4|PERENE|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
output differs from expected
                           A-07-15-M-ok.in                           
Running: Running: *** expected/A-07-15-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-15-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a1|a1|1|1|PERENE|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,84 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 1
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 2
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 3
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 86,101 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
- Escolha uma opção: HABITAT|h1|nome2|12|1
- ÁRVORE|a1|a1|1|1|PERENE|LARGARFOLHAS
- Gestão de Habitats
- 1 - Visualizar todos os habitats
- 2 - Registar habitat
- 3 - Alterar área de habitat
- 4 - Alterar influência de habitat sobre espécie
- 5 - Plantar árvore
- 6 - Mostrar árvores de habitat
- 0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 34,39 ----
      ZONE  4      
*** 108,115 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 0
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 46,52 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  5      
*** 130,136 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|h1|nome2|12|1
- ÁRVORE|a1|a1|2|1|PERENE|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 67,72 ----
output differs from expected
                           A-07-16-M-ok.in                           
Running: Running: *** expected/A-07-16-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-16-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a1|a1|1|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,34 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a2|a2|10|4|PERENE|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 36,46 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|10|4|PERENE|GERARFOLHAS
! HABITAT|h2|outro nome|122|1
! ÁRVORE|a1|a1|1|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 34,40 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  4      
*** 48,116 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 1
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 2
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 3
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Habitats
! 1 - Visualizar todos os habitats
! 2 - Registar habitat
! 3 - Alterar área de habitat
! 4 - Alterar influência de habitat sobre espécie
! 5 - Plantar árvore
! 6 - Mostrar árvores de habitat
! 0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|10|4|PERENE|LARGARFOLHAS
  HABITAT|h2|outro nome|122|1
- ÁRVORE|a1|a1|1|3|CADUCA|SEMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 42,49 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|0
  HABITAT|h2|outro nome|122|1
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  5      
*** 131,138 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 0
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 64,70 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  6      
*** 152,161 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|11|4|PERENE|GERARFOLHAS
  HABITAT|h2|outro nome|122|1
- ÁRVORE|a1|a1|2|3|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 84,91 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|0
  HABITAT|h2|outro nome|122|1
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
output differs from expected
                           A-07-17-M-ok.in                           
Running: Running: *** expected/A-07-17-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-17-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a1|a1|1|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,71 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 1
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 2
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 73,79 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a2|a2|10|4|PERENE|COMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 34,42 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Opção inválida!
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  4      
*** 82,92 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|10|4|PERENE|COMFOLHAS
! HABITAT|h2|outro nome|122|1
! ÁRVORE|a1|a1|1|3|CADUCA|LARGARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 45,51 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  5      
*** 94,151 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 3
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 0
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 1
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 53,59 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  6      
*** 153,162 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|10|4|PERENE|COMFOLHAS
  HABITAT|h2|outro nome|122|1
- ÁRVORE|a1|a1|2|3|CADUCA|COMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 61,68 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|0
  HABITAT|h2|outro nome|122|1
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  7      
*** 177,184 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 83,89 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  8      
*** 198,207 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|11|4|PERENE|COMFOLHAS
  HABITAT|h2|outro nome|122|1
- ÁRVORE|a1|a1|2|3|CADUCA|LARGARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 103,110 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|0
  HABITAT|h2|outro nome|122|1
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
output differs from expected
                           A-07-18-M-ok.in                           
Running: Running: *** expected/A-07-18-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-18-M-ok.out	Sat Oct 26 19:55:20 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a1|a1|1|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,34 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|a2|a2|10|4|PERENE|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 36,46 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|10|4|PERENE|GERARFOLHAS
! HABITAT|h2|outro nome|122|1
! ÁRVORE|a1|a1|1|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 34,40 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da espécie: Influência (positiva, negativa, neutra: POS, NEG, NEU): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  4      
*** 60,101 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 2
! Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Ficheiro sem nome. Guardar ficheiro como: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 54,57 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-07-19-M-ok.in                           
Running: Running: *** expected/A-07-19-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-19-M-ok.out	Sat Oct 26 19:55:21 2024
      ZONE  1      
*** 10,16 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Ficheiro a abrir: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,17 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Ficheiro a abrir: Abrir ficheiro: Operação inválida: Problema ao abrir ficheiro: Erro a processar ficheiro ap04.dat
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  2      
*** 30,40 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|10|4|PERENE|COMFOLHAS
! HABITAT|h2|outro nome|122|1
! ÁRVORE|a1|a1|1|3|CADUCA|LARGARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 31,37 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 54,61 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 51,57 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  4      
*** 75,85 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|10|4|PERENE|LARGARFOLHAS
! HABITAT|h2|outro nome|122|1
! ÁRVORE|a1|a1|1|3|CADUCA|SEMFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 71,77 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  5      
*** 99,106 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 0
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 91,97 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  6      
*** 120,130 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: HABITAT|h1|nome2|12|1
! ÁRVORE|a2|a2|11|4|PERENE|GERARFOLHAS
! HABITAT|h2|outro nome|122|1
! ÁRVORE|a1|a1|2|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 111,117 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
output differs from expected
                           A-07-20-M-ok.in                           
Running: Running: *** expected/A-07-20-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-20-M-ok.out	Sat Oct 26 19:55:21 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|T1|Pinheiro 4|60|20|PERENE|GERARFOLHAS
! ÁRVORE|T3|Figueira|5|10|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 18,25 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|T3|Figueira|10|5|CADUCA|GERARFOLHAS
! ÁRVORE|T1|Pinheiro 4|20|60|PERENE|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  2      
*** 29,39 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|h1|nome2|12|2
- ÁRVORE|T1|Pinheiro 4|60|20|PERENE|GERARFOLHAS
- ÁRVORE|T3|Figueira|5|10|CADUCA|GERARFOLHAS
  HABITAT|h2|outro nome|122|2
- ÁRVORE|T2|Oliveira|120|10|PERENE|GERARFOLHAS
- ÁRVORE|T4|Plátano|30|20|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 29,35 ----
      ZONE  3      
*** 54,61 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 50,56 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  4      
*** 67,74 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 62,68 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  5      
*** 80,87 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 74,80 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  6      
*** 102,112 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|h1|nome2|12|2
- ÁRVORE|T1|Pinheiro 4|60|20|PERENE|LARGARFOLHAS
- ÁRVORE|T3|Figueira|5|10|CADUCA|SEMFOLHAS
  HABITAT|h2|outro nome|122|2
- ÁRVORE|T2|Oliveira|120|10|PERENE|LARGARFOLHAS
- ÁRVORE|T4|Plátano|30|20|CADUCA|SEMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 95,101 ----
      ZONE  7      
*** 127,134 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 0
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 116,122 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  8      
*** 149,159 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|h1|nome2|12|2
- ÁRVORE|T1|Pinheiro 4|61|20|PERENE|GERARFOLHAS
- ÁRVORE|T3|Figueira|6|10|CADUCA|GERARFOLHAS
  HABITAT|h2|outro nome|122|2
- ÁRVORE|T2|Oliveira|121|10|PERENE|GERARFOLHAS
- ÁRVORE|T4|Plátano|31|20|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 137,143 ----
      ZONE  9      
*** 174,181 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 158,164 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  10      
*** 196,206 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|h1|nome2|12|2
- ÁRVORE|T1|Pinheiro 4|61|20|PERENE|COMFOLHAS
- ÁRVORE|T3|Figueira|6|10|CADUCA|COMFOLHAS
  HABITAT|h2|outro nome|122|2
- ÁRVORE|T2|Oliveira|121|10|PERENE|COMFOLHAS
- ÁRVORE|T4|Plátano|31|20|CADUCA|COMFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 179,185 ----
      ZONE  11      
*** 221,228 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 200,206 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  12      
*** 234,241 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 212,218 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  13      
*** 247,254 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 0
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 224,230 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  14      
*** 269,279 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|h1|nome2|12|2
- ÁRVORE|T1|Pinheiro 4|62|20|PERENE|GERARFOLHAS
- ÁRVORE|T3|Figueira|7|10|CADUCA|GERARFOLHAS
  HABITAT|h2|outro nome|122|2
- ÁRVORE|T2|Oliveira|122|10|PERENE|GERARFOLHAS
- ÁRVORE|T4|Plátano|32|20|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 245,251 ----
      ZONE  15      
*** 294,301 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 266,272 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  16      
*** 307,314 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 278,284 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  17      
*** 320,327 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 290,296 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  18      
*** 333,340 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 0
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 302,308 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  19      
*** 346,353 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 314,320 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  20      
*** 359,366 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 326,332 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  21      
*** 372,379 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 338,344 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  22      
*** 385,392 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 0
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 350,356 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  23      
*** 407,417 ****
  6 - Mostrar árvores de habitat
  0 - Sair
  Escolha uma opção: HABITAT|h1|nome2|12|2
- ÁRVORE|T1|Pinheiro 4|64|20|PERENE|GERARFOLHAS
- ÁRVORE|T3|Figueira|9|10|CADUCA|GERARFOLHAS
  HABITAT|h2|outro nome|122|2
- ÁRVORE|T2|Oliveira|124|10|PERENE|GERARFOLHAS
- ÁRVORE|T4|Plátano|34|20|CADUCA|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 371,377 ----
output differs from expected
                           A-07-21-M-ok.in                           
Running: Running: *** expected/A-07-21-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-07-21-M-ok.out	Sat Oct 26 19:55:21 2024
      ZONE  1      
*** 18,25 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|h1|123|12|3|CADUCA|GERARFOLHAS
! Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
--- 18,24 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Tipo de árvore: (CADUCA ou PERENE) Idade da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Dificuldade de limpeza da árvore: Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 27,33 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Identificador único da árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) ÁRVORE|h2|234|12|3|PERENE|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 26,32 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Opção inválida!
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  3      
*** 36,43 ****
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ÁRVORE|h1|123|12|3|CADUCA|GERARFOLHAS
! ÁRVORE|h2|234|12|3|PERENE|GERARFOLHAS
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
--- 35,41 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Área do habitat: Alterar área de habitat: Operação inválida: O habitat 'PERENE' não existe.
  Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
      ZONE  4      
*** 46,51 ****
--- 44,50 ----
  5 - Plantar árvore
  6 - Mostrar árvores de habitat
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-08-01-M-ok.in                           
Running: Running: *** expected/A-08-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-08-01-M-ok.out	Sat Oct 26 19:55:21 2024
      ZONE  1      
*** 10,17 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 0
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,16 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
output differs from expected
                           A-08-02-M-ok.in                           
Running: Running: *** expected/A-08-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-08-02-M-ok.out	Sat Oct 26 19:55:21 2024
      ZONE  1      
*** 10,17 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 96
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,16 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
output differs from expected
                           A-08-03-M-ok.in                           
Running: Running: *** expected/A-08-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-08-03-M-ok.out	Sat Oct 26 19:55:21 2024
      ZONE  1      
*** 10,17 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 340
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,16 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
output differs from expected
                           A-08-04-M-ok.in                           
Running: Running: *** expected/A-08-04-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-08-04-M-ok.out	Sat Oct 26 19:55:21 2024
      ZONE  1      
*** 10,17 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 600
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,16 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
output differs from expected
                           A-08-05-M-ok.in                           
Running: Running: *** expected/A-08-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-08-05-M-ok.out	Sat Oct 26 19:55:21 2024
      ZONE  1      
*** 10,17 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 600
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,16 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  2      
*** 51,58 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 400
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 50,56 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
output differs from expected
                           A-09-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-09-02-M-ok.in                           
Running: Running: *** expected/A-09-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-09-02-M-ok.out	Sat Oct 26 19:55:21 2024
      ZONE  1      
*** 16,23 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único da espécie: Identificador único do habitat: Registar animal: Operação inválida: O habitat 'hh1' não existe.
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
--- 16,22 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único da espécie: Identificador único do habitat: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
output differs from expected
                           A-09-03-M-ok.in                           
Running: Running: TEST PASSED!
                           A-09-04-M-ok.in                           
Running: Running: TEST PASSED!
                           A-09-05-M-ok.in                           
Running: Running: *** expected/A-09-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-09-05-M-ok.out	Sat Oct 26 19:55:22 2024
      ZONE  1      
*** 16,28 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único da espécie: Identificador único do habitat: Nome da espécie: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: ANIMAL|a1|nome|abc|VOID|h2
  Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
--- 16,28 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único da espécie: Nome da espécie: Identificador único do habitat: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: ANIMAL|a1|nome|abc|VOID|dinossauro
  Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
output differs from expected
                           A-09-06-M-ok.in                           
Running: Running: *** expected/A-09-06-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-09-06-M-ok.out	Sat Oct 26 19:55:22 2024
      ZONE  1      
*** 23,36 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único da espécie: Identificador único do habitat: Registar animal: Operação inválida: O animal 'aaDD' já existe.
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: ANIMAL|AAdd|Avestruz|C10|VOID|h1
  Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
--- 23,36 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único da espécie: Identificador único do habitat: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: ANIMAL|AAdd|Avestruz|C10|VOID|h1
+ ANIMAL|aaDD|nome|C10|VOID|h2
  Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
output differs from expected
                           A-09-07-M-ok.in                           
Running: Running: *** expected/A-09-07-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-09-07-M-ok.out	Sat Oct 26 19:55:22 2024
      ZONE  1      
*** 16,36 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único da espécie: Identificador único do habitat: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único da espécie: Identificador único do habitat: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
  Escolha uma opção: ANIMAL|aadd|Avestruz|CcdE10|VOID|h1
! ANIMAL|ee1|nome 2|CcdE10|VOID|h1
! ANIMAL|x1|nome|CcdE10|VOID|h2
  Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
--- 16,33 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único da espécie: Nome da espécie: Identificador único do habitat: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
  Escolha uma opção: ANIMAL|aadd|Avestruz|CcdE10|VOID|h1
! ANIMAL|x1|nome|cCde10|VOID|2
  Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
      ZONE  2      
*** 49,52 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
--- 46,49 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
\ No newline at end of file
output differs from expected
                           A-09-08-M-ok.in                           
Running: Running: TEST PASSED!
                           A-10-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-10-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-10-03-M-ok.in                           
Running: Running: TEST PASSED!
                           A-10-04-M-ok.in                           
Running: Running: TEST PASSED!
                           A-10-05-M-ok.in                           
Running: Running: TEST PASSED!
                           A-10-06-M-ok.in                           
Running: Running: *** expected/A-10-06-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-10-06-M-ok.out	Sat Oct 26 19:55:22 2024
      ZONE  1      
*** 16,28 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Identificador único do habitat: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: ANIMAL|A1|Pinguim 1|C1|VOID|AR1
  ANIMAL|A2|Pinguim 2|C1|VOID|AR2
  ANIMAL|A3|Macaco 1|C2|VOID|AR1
  ANIMAL|A4|Macaco 2|C2|VOID|AR1
--- 16,29 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Identificador único do habitat: Transferir para habitat: Operação inválida: O animal 'a1' não existe.
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: ANIMAL|A1|Pinguim 1|C1|VOID|AR2
  ANIMAL|A2|Pinguim 2|C1|VOID|AR2
  ANIMAL|A3|Macaco 1|C2|VOID|AR1
  ANIMAL|A4|Macaco 2|C2|VOID|AR1
      ZONE  2      
*** 50,57 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ANIMAL|A1|Pinguim 1|C1|VOID|AR1
! ANIMAL|A3|Macaco 1|C2|VOID|AR1
  ANIMAL|A4|Macaco 2|C2|VOID|AR1
  Consultas
  1 - Animais de um habitat
--- 51,57 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ANIMAL|A3|Macaco 1|C2|VOID|AR1
  ANIMAL|A4|Macaco 2|C2|VOID|AR1
  Consultas
  1 - Animais de um habitat
      ZONE  3      
*** 59,65 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ANIMAL|A2|Pinguim 2|C1|VOID|AR2
  Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
--- 59,66 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ANIMAL|A1|Pinguim 1|C1|VOID|AR2
! ANIMAL|A2|Pinguim 2|C1|VOID|AR2
  Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
output differs from expected
                           A-10-07-M-ok.in                           
Running: Running: *** expected/A-10-07-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-10-07-M-ok.out	Sat Oct 26 19:55:22 2024
      ZONE  1      
*** 16,29 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Identificador único do habitat: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: ANIMAL|A1|Pinguim 1|C1|VOID|AR2
! ANIMAL|A2|Pinguim 2|C1|VOID|AR1
  ANIMAL|A3|Macaco 1|C2|VOID|AR1
  ANIMAL|A4|Macaco 2|C2|VOID|AR1
  Gestão de Animais
--- 16,30 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Identificador único do habitat: Transferir para habitat: Operação inválida: O habitat 'ar1' não existe.
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: ANIMAL|A1|Pinguim 1|C1|VOID|AR2
! ANIMAL|A2|Pinguim 2|C1|VOID|AR2
  ANIMAL|A3|Macaco 1|C2|VOID|AR1
  ANIMAL|A4|Macaco 2|C2|VOID|AR1
  Gestão de Animais
      ZONE  2      
*** 50,65 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ANIMAL|A2|Pinguim 2|C1|VOID|AR1
! ANIMAL|A3|Macaco 1|C2|VOID|AR1
! ANIMAL|A4|Macaco 2|C2|VOID|AR1
  Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do habitat: ANIMAL|A1|Pinguim 1|C1|VOID|AR2
  Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
--- 51,64 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Animais de um habitat: Operação inválida: O habitat 'aR1' não existe.
  Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do habitat: Animais de um habitat: Operação inválida: O habitat 'Ar2' não existe.
  Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
output differs from expected
                           A-11-01-M-ok.in                           
Running: Running: *** expected/A-11-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-01-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 46,58 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Calcular satisfação de animal: Operação inválida: O animal 'a1' não existe.
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 46,58 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-02-M-ok.in                           
Running: Running: *** expected/A-11-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-02-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 16,28 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 32
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,28 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-03-M-ok.in                           
Running: Running: *** expected/A-11-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-03-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 16,28 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 32
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,28 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-04-M-ok.in                           
Running: Running: *** expected/A-11-04-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-04-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 44,56 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 52
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 44,56 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-05-M-ok.in                           
Running: Running: *** expected/A-11-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-05-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 44,56 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 52
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 44,56 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  2      
*** 97,109 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 32
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 97,109 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-06-M-ok.in                           
Running: Running: *** expected/A-11-06-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-06-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 64,76 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 52
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 64,76 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  2      
*** 117,129 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 12
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 117,129 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-07-M-ok.in                           
Running: Running: *** expected/A-11-07-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-07-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 64,76 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 52
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 64,76 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  2      
*** 117,129 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 52
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 117,129 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-08-M-ok.in                           
Running: Running: *** expected/A-11-08-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-08-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 27,53 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 34
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 34
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 34
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 27,53 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-09-M-ok.in                           
Running: Running: *** expected/A-11-09-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-09-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 16,42 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 40
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 40
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 40
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,42 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-10-M-ok.in                           
Running: Running: *** expected/A-11-10-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-10-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 16,28 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 34
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,28 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  2      
*** 69,88 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 54
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 54
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 69,88 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-11-M-ok.in                           
Running: Running: *** expected/A-11-11-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-11-M-ok.out	Sat Oct 26 19:55:23 2024
      ZONE  1      
*** 44,56 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 32
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 44,56 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-12-M-ok.in                           
Running: Running: *** expected/A-11-12-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-12-M-ok.out	Sat Oct 26 19:55:24 2024
      ZONE  1      
*** 64,83 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 32
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 162
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 64,83 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-13-M-ok.in                           
Running: Running: *** expected/A-11-13-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-13-M-ok.out	Sat Oct 26 19:55:24 2024
      ZONE  1      
*** 44,56 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 12
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 44,56 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-14-M-ok.in                           
Running: Running: *** expected/A-11-14-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-14-M-ok.out	Sat Oct 26 19:55:24 2024
      ZONE  1      
*** 16,28 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 32
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,28 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-15-M-ok.in                           
Running: Running: *** expected/A-11-15-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-15-M-ok.out	Sat Oct 26 19:55:24 2024
      ZONE  1      
*** 16,28 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 22
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,28 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-16-M-ok.in                           
Running: Running: *** expected/A-11-16-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-16-M-ok.out	Sat Oct 26 19:55:24 2024
      ZONE  1      
*** 16,35 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 22
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 22
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Identificador único do animal: Identificador único do habitat: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
--- 16,35 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Identificador único do animal: Identificador único do habitat: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
      ZONE  2      
*** 46,65 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 142
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 20
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 46,65 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-17-M-ok.in                           
Running: Running: *** expected/A-11-17-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-17-M-ok.out	Sat Oct 26 19:55:24 2024
      ZONE  1      
*** 60,72 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 122
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 60,72 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-11-18-M-ok.in                           
Running: Running: *** expected/A-11-18-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-11-18-M-ok.out	Sat Oct 26 19:55:24 2024
      ZONE  1      
*** 31,71 ****
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 24
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 24
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 19
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 50
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 50
! Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 31,71 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-12-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-16-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-16-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-16-03-M-ok.in                           
Running: Running: TEST PASSED!
                           A-16-04-M-ok.in                           
Running: Running: TEST PASSED!
                           A-16-05-M-ok.in                           
Running: Running: *** expected/A-16-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-16-05-M-ok.out	Sat Oct 26 19:55:25 2024
      ZONE  1      
*** 31,39 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: VET|A1|Vat a1
! TRT|H1|trt h1
  TRT|T1|Trt one
  VET|V1|Vet one
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
--- 31,39 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: TRT|H1|trt h1
  TRT|T1|Trt one
+ VET|A1|Vat a1
  VET|V1|Vet one
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
output differs from expected
                           A-16-06-M-ok.in                           
Running: Running: TEST PASSED!
                           A-17-01-M-ok.in                           
Running: Running: *** expected/A-17-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-17-01-M-ok.out	Sat Oct 26 19:55:25 2024
      ZONE  1      
*** 17,32 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Atribuir responsabilidade: Operação inválida: Responsabilidade (habitat ou espécie) 'A1' não atribuída ao funcionário 'V1'.
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Atribuir responsabilidade: Operação inválida: Responsabilidade (habitat ou espécie) 'H2' não atribuída ao funcionário 'T1'.
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
output differs from expected
                           A-17-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-17-03-M-ok.in                           
Running: Running: *** expected/A-17-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-17-03-M-ok.out	Sat Oct 26 19:55:25 2024
      ZONE  1      
*** 17,32 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Atribuir responsabilidade: Operação inválida: Responsabilidade (habitat ou espécie) 'H1' não atribuída ao funcionário 'V1'.
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Atribuir responsabilidade: Operação inválida: Responsabilidade (habitat ou espécie) 'C1' não atribuída ao funcionário 'T1'.
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
output differs from expected
                           A-17-04-M-ok.in                           
Running: Running: TEST PASSED!
                           A-17-05-M-ok.in                           
Running: Running: TEST PASSED!
                           A-17-06-M-ok.in                           
Running: Running: TEST PASSED!
                           A-17-07-M-ok.in                           
Running: Running: *** expected/A-17-07-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-17-07-M-ok.out	Sat Oct 26 19:55:25 2024
      ZONE  1      
*** 66,74 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: TRT|T1|Trt one|H1,H2,H3
  TRT|T2|Trt two
! VET|V1|Vet one|C1,C2,C3,C4
  VET|V2|Vet two
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
--- 66,74 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: TRT|T1|Trt one|H2,H3,H1
  TRT|T2|Trt two
! VET|V1|Vet one|C4,C2,C3,C1
  VET|V2|Vet two
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
output differs from expected
                           A-17-08-M-ok.in                           
Running: Running: TEST PASSED!
                           A-17-09-M-ok.in                           
Running: Running: TEST PASSED!
                           A-17-10-M-ok.in                           
Running: Running: *** expected/A-17-10-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-17-10-M-ok.out	Sat Oct 26 19:55:26 2024
      ZONE  1      
*** 17,38 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: TRT|T1|Trt one|H1
! VET|V1|Vet one|C1
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
--- 17,40 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Atribuir responsabilidade: Operação inválida: O funcionário 'v1' não existe.
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Atribuir responsabilidade: Operação inválida: O funcionário 't1' não existe.
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: TRT|T1|Trt one
! VET|V1|Vet one
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
output differs from expected
                           A-18-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-18-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-18-03-M-ok.in                           
Running: Running: TEST PASSED!
                           A-18-04-M-ok.in                           
Running: Running: TEST PASSED!
                           A-18-05-M-ok.in                           
Running: Running: TEST PASSED!
                           A-18-06-M-ok.in                           
Running: Running: TEST PASSED!
                           A-19-01-M-ok.in                           
Running: Running: *** expected/A-19-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-01-M-ok.out	Sat Oct 26 19:55:26 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 20
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-02-M-ok.in                           
Running: Running: *** expected/A-19-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-02-M-ok.out	Sat Oct 26 19:55:26 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 20
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: TRT|T1|Rohit Figueiredo|H1
  TRT|T2|Rohit Figueiredo 3|H1,H4
  TRT|T3|Rohit Figueiredo 6|H2,H3,H4
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: TRT|T1|Rohit Figueiredo|H1
  TRT|T2|Rohit Figueiredo 3|H1,H4
  TRT|T3|Rohit Figueiredo 6|H2,H3,H4
output differs from expected
                           A-19-03-M-ok.in                           
Running: Running: *** expected/A-19-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-03-M-ok.out	Sat Oct 26 19:55:26 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 18
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-04-M-ok.in                           
Running: Running: *** expected/A-19-04-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-04-M-ok.out	Sat Oct 26 19:55:26 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 15
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-05-M-ok.in                           
Running: Running: *** expected/A-19-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-05-M-ok.out	Sat Oct 26 19:55:26 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 15
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Identificador único do funcionário: Identificador único da responsabilidade: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
      ZONE  2      
*** 32,45 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 17
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 32,45 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-06-M-ok.in                           
Running: Running: *** expected/A-19-06-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-06-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,38 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 18
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 19
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,38 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-07-M-ok.in                           
Running: Running: *** expected/A-19-07-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-07-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,46 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 20
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 19
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 19
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,46 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-08-M-ok.in                           
Running: Running: *** expected/A-19-08-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-08-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Calcular satisfação de funcionário: Operação inválida: O funcionário 'TT' não existe.
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-09-M-ok.in                           
Running: Running: *** expected/A-19-09-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-09-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: -220
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-10-M-ok.in                           
Running: Running: *** expected/A-19-10-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-10-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: -229
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-11-M-ok.in                           
Running: Running: *** expected/A-19-11-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-11-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: -655
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-12-M-ok.in                           
Running: Running: *** expected/A-19-12-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-12-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: -655
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: TRT|T1|Rohit Figueiredo|H3,H4
  TRT|T2|Rohit Figueiredo 3|H1
  TRT|T3|Rohit Figueiredo 6|H2
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: TRT|T1|Rohit Figueiredo|H3,H4
  TRT|T2|Rohit Figueiredo 3|H1
  TRT|T3|Rohit Figueiredo 6|H2
      ZONE  2      
*** 47,60 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: -126
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 47,60 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-13-M-ok.in                           
Running: Running: *** expected/A-19-13-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-13-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: -86
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-14-M-ok.in                           
Running: Running: *** expected/A-19-14-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-14-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 300
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-15-M-ok.in                           
Running: Running: *** expected/A-19-15-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-15-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 193
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-16-M-ok.in                           
Running: Running: *** expected/A-19-16-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-16-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 29,36 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 29,35 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  2      
*** 49,62 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 186
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 48,61 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-17-M-ok.in                           
Running: Running: *** expected/A-19-17-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-17-M-ok.out	Sat Oct 26 19:55:27 2024
      ZONE  1      
*** 10,17 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,16 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  2      
*** 23,30 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 22,28 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  3      
*** 43,56 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 165
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 41,54 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  4      
*** 63,70 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 61,67 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  5      
*** 83,96 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 200
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 80,93 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-18-M-ok.in                           
Running: Running: *** expected/A-19-18-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-18-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 193
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-19-M-ok.in                           
Running: Running: *** expected/A-19-19-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-19-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 10,17 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 10,16 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  2      
*** 30,43 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 193
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 29,42 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  3      
*** 50,57 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 49,55 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  4      
*** 70,83 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 193
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 68,81 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-20-M-ok.in                           
Running: Running: *** expected/A-19-20-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-20-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 193
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  2      
*** 37,44 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 37,43 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  3      
*** 50,57 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 49,55 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  4      
*** 63,70 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 3
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 61,67 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  5      
*** 83,96 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 186
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 80,93 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-21-M-ok.in                           
Running: Running: *** expected/A-19-21-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-21-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 172
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-22-M-ok.in                           
Running: Running: *** expected/A-19-22-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-22-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 172
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  2      
*** 37,44 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 1
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 37,43 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  3      
*** 57,70 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 158
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 56,69 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  4      
*** 77,84 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 2
! Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
--- 76,82 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
  3 - Guardar ficheiro
      ZONE  5      
*** 97,110 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 117
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 95,108 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-23-M-ok.in                           
Running: Running: *** expected/A-19-23-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-23-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 257
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  2      
*** 44,57 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 257
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 44,57 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-24-M-ok.in                           
Running: Running: *** expected/A-19-24-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-24-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: -241
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-25-M-ok.in                           
Running: Running: *** expected/A-19-25-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-25-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: -17
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-26-M-ok.in                           
Running: Running: *** expected/A-19-26-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-26-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 17,30 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 143
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,30 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-19-27-M-ok.in                           
Running: Running: *** expected/A-19-27-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-19-27-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 17,54 ****
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 248
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 260
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 128
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: 228
! Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 17,54 ----
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
  3 - Atribuir responsabilidade
  4 - Retirar responsabilidade
  5 - Calcular satisfação de funcionário
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-20-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-20-02-M-ok.in                           
Running: Running: *** expected/A-20-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-20-02-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 16,29 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Nome da vacina: Identificadores das espécies que podem receber a vacina: Registar vacina: Operação inválida: A espécie 'E4' não existe.
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
--- 16,29 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Nome da vacina: Identificadores das espécies que podem receber a vacina: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: VACINA|V1|nome|0|E4
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
output differs from expected
                           A-20-03-M-ok.in                           
Running: Running: *** expected/A-20-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-20-03-M-ok.out	Sat Oct 26 19:55:28 2024
      ZONE  1      
*** 16,29 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Nome da vacina: Identificadores das espécies que podem receber a vacina: Registar vacina: Operação inválida: A espécie 'E4' não existe.
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
--- 16,29 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Nome da vacina: Identificadores das espécies que podem receber a vacina: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: VACINA|V2|nome 2|0|E1,E4,E3
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
output differs from expected
                           A-20-04-M-ok.in                           
Running: Running: TEST PASSED!
                           A-20-05-M-ok.in                           
Running: Running: *** expected/A-20-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-20-05-M-ok.out	Sat Oct 26 19:55:29 2024
      ZONE  1      
*** 40,49 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: VACINA|V1|nome 1|0|E1,E2,E4,E5
! VACINA|V2|nome 2|0|E1,E5
! VACINA|V3|nome 3|0|E2,E3,E5
! VACINA|V4|nome 4|0|E2,E3,E4
  Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
--- 40,49 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: VACINA|V1|nome 1|0|E5,E4,E2,E1
! VACINA|V2|nome 2|0|E5,E1
! VACINA|V3|nome 3|0|E3,E2,E5
! VACINA|V4|nome 4|0|E4,E3,E2
  Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
output differs from expected
                           A-21-01-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-01-M-ok.out	Sat Oct 26 19:55:29 2024
      ZONE  1      
*** 23,45 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O animal 'A1' não existe.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 23,26 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-21-03-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-03-M-ok.out	Sat Oct 26 19:55:29 2024
      ZONE  1      
*** 16,38 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: A vacina 'Vacina1' não existe.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-04-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-04-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-04-M-ok.out	Sat Oct 26 19:55:29 2024
      ZONE  1      
*** 16,44 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O veterinário 'Vet2' não pode ministrar vacinas à espécie 'E1'
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-05-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-05-M-ok.out	Sat Oct 26 19:55:29 2024
      ZONE  1      
*** 16,44 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet1|E1
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-06-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-06-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-06-M-ok.out	Sat Oct 26 19:55:29 2024
      ZONE  1      
*** 16,64 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: ANIMAL|AA1|Patudo|E1|NORMAL|H1
! ANIMAL|AA2|Patudo 2|E1|VOID|H1
! ANIMAL|AA3|Malhado|E2|VOID|H1
! Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-07-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-07-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-07-M-ok.out	Sat Oct 26 19:55:29 2024
      ZONE  1      
*** 16,51 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac3|Vet2|E2
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-08-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-08-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-08-M-ok.out	Sat Oct 26 19:55:29 2024
      ZONE  1      
*** 16,71 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: ANIMAL|AA1|Patudo|E1|VOID|H1
! ANIMAL|AA2|Patudo 2|E1|NORMAL|H1
! ANIMAL|AA3|Malhado|E2|NORMAL|H1
! Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-09-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-09-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-09-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 16,52 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: VACINA|Vac1|nome 1|0|E1
! VACINA|Vac2|nome 2|0|E2
! VACINA|Vac3|nome 3|2|E1,E2
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-10-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-10-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-10-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 17,106 ****
  4 - Mostrar vacinações
  0 - Sair
  Escolha uma opção: Número inválido!
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet3|E1
! REGISTO-VACINA|Vac3|Vet3|E2
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: ANIMAL|AA1|Patudo|E1|VOID|H1
! ANIMAL|AA2|Patudo 2|E1|NORMAL|H1
! ANIMAL|AA3|Malhado|E2|NORMAL|H1
! Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: VACINA|Vac1|nome 1|1|E1
! VACINA|Vac2|nome 2|0|E2
! VACINA|Vac3|nome 3|1|E1,E2
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 17,20 ----
  4 - Mostrar vacinações
  0 - Sair
  Escolha uma opção: Número inválido!
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-11-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-11-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-11-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 16,56 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet1|E1
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Ficheiro sem nome. Guardar ficheiro como: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-12-M-ok.in                           
Running: Running: *** expected/A-21-12-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-12-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 28,44 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: VACINA|Vac1|nome 1|1|E1
! VACINA|Vac2|nome 2|0|E2
! VACINA|Vac3|nome 3|0|E1,E2
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet1|E1
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
--- 28,40 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
output differs from expected
                           A-21-13-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-13-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-13-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 16,72 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA3'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: ANIMAL|AA1|Patudo|E1|CONFUSÃO|H1
! ANIMAL|AA2|Patudo 2|E1|VOID|H1
! ANIMAL|AA3|Malhado|E2|CONFUSÃO|H1
! Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-14-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-14-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-14-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 17,108 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA3'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: ANIMAL|AA1|Patudo|E1|ACIDENTE|H1
! ANIMAL|AA2|Patudo 2|E1|VOID|H1
! ANIMAL|AA3|Malhado|E2|ACIDENTE|H1
! Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet2|E2
! REGISTO-VACINA|Vac2|Vet1|E1
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: VACINA|Vac1|nome 1|1|E1
! VACINA|Vac2|nome 2|1|E2
! VACINA|Vac3|nome 3|0|E1,E2
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 17,20 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-15-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-15-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-15-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 16,108 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA3'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: ANIMAL|AA1|Patudo|E1|ERRO|H1
! ANIMAL|AA2|Patudo 2|E1|VOID|H1
! ANIMAL|AA3|Malhado|E2|ERRO|H1
! Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet2|E2
! REGISTO-VACINA|Vac2|Vet1|E1
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: VACINA|Vac1|nome 1|1|E1
! VACINA|Vac2|nome 2|1|E2
! VACINA|Vac3|nome 3|0|E1,E2
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-16-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-16-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-16-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 16,80 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA2'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet1|E2
! REGISTO-VACINA|Vac1|Vet2|E3
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: ANIMAL|AA1|Patudo|E2|ACIDENTE|H1
! ANIMAL|AA2|Patudo 2|E3|ERRO|H1
! ANIMAL|AA3|Malhado|E2|VOID|H1
! Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-17-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-17-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-17-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 16,68 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: VACINA|Vac1|nome 1|2|E1
! VACINA|Vac2|nome 2|1|E2
! VACINA|Vac3|nome 3|0|E1,E2
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet1|E1
! REGISTO-VACINA|Vac2|Vet2|E2
! REGISTO-VACINA|Vac1|Vet1|E1
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-18-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-18-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-18-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 16,53 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O veterinário 'Vet2' não pode ministrar vacinas à espécie 'E1'
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: VACINA|Vac1|nome 1|0|E1
! VACINA|Vac2|nome 2|0|E2
! VACINA|Vac3|nome 3|0|E1,E2
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-19-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-19-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-19-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 16,71 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA3'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac4' não é apropiada para o animal 'AA4'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac1|Vet3|E3
! REGISTO-VACINA|Vac4|Vet4|E4
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: VACINA|Vac1|nome 1|1|E1
! VACINA|Vac2|nome 2|1|E2
! VACINA|Vac3|nome 3|0|E1,E2
! VACINA|Vac4|nome 3|1|E5
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-20-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-20-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-20-M-ok.out	Sat Oct 26 19:55:30 2024
      ZONE  1      
*** 16,81 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: VACINA|Vac1|nome 1|1|E2,E3,E4
! VACINA|Vac2|nome 2|0|E2
! VACINA|Vac3|nome 3|0|E1,E2
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet1|E1
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: ANIMAL|AA1|Patudo|E1|ERRO|H1
! ANIMAL|AA2|Patudo 2|E1|VOID|H1
! ANIMAL|AA3|Malhado|E2|VOID|H1
! Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-21-21-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-21-21-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-21-21-M-ok.out	Sat Oct 26 19:55:31 2024
      ZONE  1      
*** 16,131 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac1|Vet1|E1
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: VACINA|Vac1|nome 1|2|E4
! VACINA|Vac2|nome 2|2|E3
! VACINA|Vac3|nome 3|2|E1
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: ANIMAL|AA1|Patudo|E1|ERRO,ACIDENTE,NORMAL,ACIDENTE,NORMAL,ERRO|H1
! ANIMAL|AA2|Patudo 2|E1|VOID|H1
! ANIMAL|AA3|Malhado|E2|VOID|H1
! Gestão de Animais
! 1 - Visualizar todos os animais
! 2 - Registar animal
! 3 - Transferir para habitat
! 4 - Calcular satisfação de animal
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Ficheiro sem nome. Guardar ficheiro como: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-22-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-22-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-22-03-M-ok.in                           
Running: Running: TEST PASSED!
                           A-22-04-M-ok.in                           
Running: Running: TEST PASSED!
                           A-22-05-M-ok.in                           
Running: Running: TEST PASSED!
                           A-23-01-M-ok.in                           
Running: Running: *** expected/A-23-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-23-01-M-ok.out	Sat Oct 26 19:55:31 2024
      ZONE  1      
*** 16,34 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do animal: Actos médicos num animal: Operação inválida: O animal 'A1' não existe.
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do animal: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,35 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-23-02-M-ok.in                           
Running: Running: *** expected/A-23-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-23-02-M-ok.out	Sat Oct 26 19:55:31 2024
      ZONE  1      
*** 28,45 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do animal: REGISTO-VACINA|Vac1|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac1|Vet1|E1
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 28,40 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-23-03-M-ok.in                           
Running: Running: *** expected/A-23-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-23-03-M-ok.out	Sat Oct 26 19:55:31 2024
      ZONE  1      
*** 34,72 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA2'.
  Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac3' não é apropiada para o animal 'AA3'.
  Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
--- 34,76 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O veterinário 'Vet1' não existe.
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O veterinário 'Vet1' não existe.
  Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O veterinário 'Vet2' não existe.
  Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O veterinário 'Vet2' não existe.
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O veterinário 'Vet2' não existe.
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O veterinário 'Vet3' não existe.
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
      ZONE  2      
*** 90,116 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do animal: REGISTO-VACINA|Vac1|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac1|Vet1|E1
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do animal: REGISTO-VACINA|Vac3|Vet2|E2
! REGISTO-VACINA|Vac4|Vet2|E2
! REGISTO-VACINA|Vac4|Vet2|E2
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 94,113 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  3      
*** 129,135 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
--- 126,133 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Vacinar animal: Operação inválida: O veterinário 'Vet3' não existe.
! Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
      ZONE  4      
*** 153,168 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do animal: REGISTO-VACINA|Vac3|Vet2|E2
! REGISTO-VACINA|Vac4|Vet2|E2
! REGISTO-VACINA|Vac4|Vet2|E2
! REGISTO-VACINA|Vac4|Vet3|E2
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 151,163 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-24-01-M-ok.in                           
Running: Running: *** expected/A-24-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-24-01-M-ok.out	Sat Oct 26 19:55:31 2024
      ZONE  1      
*** 16,34 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Actos médicos de um veterinário: Operação inválida: O veterinário 'vet22' não existe.
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,35 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-24-02-M-ok.in                           
Running: Running: *** expected/A-24-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-24-02-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 16,28 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: Actos médicos de um veterinário: Operação inválida: O veterinário 'Trt1' não existe.
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 16,28 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-24-03-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-24-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-24-03-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 16,62 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Identificador único do funcionário: REGISTO-VACINA|Vac3|Vet1|E1
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-24-04-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-24-04-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-24-04-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 16,69 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Identificador único do funcionário: REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-24-05-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-24-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-24-05-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 16,76 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Identificador único do funcionário: REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-24-06-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-24-06-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-24-06-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 16,90 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Identificador único do funcionário: REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-24-07-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-24-07-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-24-07-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 16,89 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Identificador único do funcionário: REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac1|Vet1|E2
! REGISTO-VACINA|Vac1|Vet1|E2
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Identificador único do funcionário: REGISTO-VACINA|Vac1|Vet2|E2
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-24-08-M-ok.in                           
Running: Running: *** expected/A-24-08-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-24-08-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 28,64 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: REGISTO-VACINA|Vac1|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac1|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: REGISTO-VACINA|Vac3|Vet2|E2
! REGISTO-VACINA|Vac4|Vet2|E2
! REGISTO-VACINA|Vac4|Vet2|E2
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do funcionário: REGISTO-VACINA|Vac4|Vet3|E1
! REGISTO-VACINA|Vac4|Vet3|E2
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
--- 28,54 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
+ Escolha uma opção: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-25-01-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-25-01-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-25-01-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 40,160 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA3'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac2|Vet2|E2
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Número inválido!
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 40,43 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-25-02-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-25-02-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-25-02-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 16,77 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA3'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet2|E2
! REGISTO-VACINA|Vac2|Vet1|E1
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-25-03-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-25-03-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-25-03-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 16,84 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac1' não é apropiada para o animal 'AA3'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Identificador único do funcionário: Actos médicos de um veterinário: Operação inválida: O veterinário '0' não existe.
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet2|E2
! REGISTO-VACINA|Vac2|Vet1|E1
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-25-04-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-25-04-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-25-04-M-ok.out	Sat Oct 26 19:55:32 2024
      ZONE  1      
*** 16,93 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA3'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA2'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-25-05-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.getEspecieId()" because "" is null
	at hva.core.Hotel.vaccinateAnimal(Hotel.java:284)
	at hva.app.vaccine.DoVaccinateAnimal.execute(DoVaccinateAnimal.java:31)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.main.DoOpenVaccinesMenu.execute(DoOpenVaccinesMenu.java:16)
	at pt.tecnico.uilib.menus.Command.performCommand(Command.java:151)
	at pt.tecnico.uilib.text.TextInteraction.open(TextInteraction.java:114)
	at pt.tecnico.uilib.Dialog.open(Dialog.java:48)
	at pt.tecnico.uilib.menus.Menu.open(Menu.java:71)
	at hva.app.App.main(App.java:20)
*** expected/A-25-05-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-25-05-M-ok.out	Sat Oct 26 19:55:33 2024
      ZONE  1      
*** 16,93 ****
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac3' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac2' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: A vacina 'Vac3' não é apropiada para o animal 'AA1'.
! Gestão de Vacinas
! 1 - Visualizar todas as vacinas
! 2 - Registar vacina
! 3 - Vacinar animal
! 4 - Mostrar vacinações
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet1|E1
! REGISTO-VACINA|Vac2|Vet2|E1
! REGISTO-VACINA|Vac3|Vet3|E1
! Consultas
! 1 - Animais de um habitat
! 2 - Actos médicos num animal
! 3 - Actos médicos de um veterinário
! 4 - Vacinações com problemas
! 0 - Sair
! Escolha uma opção: Menu Principal
! 1 - Criar ficheiro
! 2 - Abrir ficheiro
! 3 - Guardar ficheiro
! 4 - Avançar estação do ano
! 5 - Ver satisfação global
! 6 - Gestão de animais
! 7 - Gestão de funcionários
! 8 - Gestão de habitats
! 9 - Gestão de vacinas
! 10 - Consultas
! 0 - Sair
! Escolha uma opção: 
\ No newline at end of file
--- 16,19 ----
  3 - Vacinar animal
  4 - Mostrar vacinações
  0 - Sair
! Escolha uma opção: Identificador da vacina: Identficador do veterinário a ministrar a vacina: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-25-06-M-ok.in                           
Running: Running: *** expected/A-25-06-M-ok.out	Sat Oct 26 12:46:25 2024
--- checked-out/016/016_A-25-06-M-ok.out	Sat Oct 26 19:55:33 2024
      ZONE  1      
*** 28,40 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: REGISTO-VACINA|Vac1|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac1|Vet1|E1
! REGISTO-VACINA|Vac2|Vet1|E1
! REGISTO-VACINA|Vac3|Vet2|E2
! Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
--- 28,34 ----
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Consultas
  1 - Animais de um habitat
  2 - Actos médicos num animal
  3 - Actos médicos de um veterinário
output differs from expected