*** COMPILING IN ef/checked-out/075
                           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	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-01-33-M-ok.out	Sat Oct 26 00:57:33 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-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-06-M-ok.in                           
Running: Running: *** expected/A-02-06-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-02-06-M-ok.out	Sat Oct 26 00:57:33 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-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-04-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-04-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-05-01-M-ok.in                           
Running: Running: *** expected/A-05-01-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-05-01-M-ok.out	Sat Oct 26 00:57:34 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): 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
--- 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): 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
      ZONE  2      
*** 27,41 ****
  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
! 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
--- 27,35 ----
  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: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-06-01-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Season.next()" because "this._season" is null
	at hva.core.Hotel.nextSeason(Hotel.java:265)
	at hva.core.HotelManager.nextSeason(HotelManager.java:106)
	at hva.app.main.DoAdvanceSeason.execute(DoAdvanceSeason.java:20)
	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-06-01-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-06-01-M-ok.out	Sat Oct 26 00:57:34 2024
      ZONE  1      
*** 10,39 ****
  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: 
\ No newline at end of file
--- 10,13 ----
output differs from expected
                           A-06-02-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Season.next()" because "this._season" is null
	at hva.core.Hotel.nextSeason(Hotel.java:265)
	at hva.core.HotelManager.nextSeason(HotelManager.java:106)
	at hva.app.main.DoAdvanceSeason.execute(DoAdvanceSeason.java:20)
	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-06-02-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-06-02-M-ok.out	Sat Oct 26 00:57:34 2024
      ZONE  1      
*** 10,103 ****
  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: 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: 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
--- 10,13 ----
output differs from expected
                           A-06-03-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Season.next()" because "this._season" is null
	at hva.core.Hotel.nextSeason(Hotel.java:265)
	at hva.core.HotelManager.nextSeason(HotelManager.java:106)
	at hva.app.main.DoAdvanceSeason.execute(DoAdvanceSeason.java:20)
	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-06-03-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-06-03-M-ok.out	Sat Oct 26 00:57:34 2024
      ZONE  1      
*** 10,28 ****
  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
! 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
--- 10,16 ----
  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: ap03.dat (No such file or directory)
  Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
output differs from expected
                           A-07-01-M-ok.in                           
Running: Running: TEST PASSED!
                           A-07-02-M-ok.in                           
Running: Running: TEST PASSED!
                           A-07-03-M-ok.in                           
Running: Running: TEST PASSED!
                           A-07-04-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Season.ordinal()" because the return value of "hva.core.DeciduousTree.getSeason()" is null
	at hva.core.DeciduousTree.getBioCycle(DeciduousTree.java:12)
	at hva.core.Tree.toString(Tree.java:44)
	at hva.app.habitat.DoShowAllTreesInHabitat.execute(DoShowAllTreesInHabitat.java:27)
	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-04-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-07-04-M-ok.out	Sat Oct 26 00:57:34 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: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  2      
*** 35,59 ****
  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
! 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-05-M-ok.in                           
Running: Running: TEST PASSED!
                           A-07-09-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Season.ordinal()" because the return value of "hva.core.EvergreenTree.getSeason()" is null
	at hva.core.EvergreenTree.getBioCycle(EvergreenTree.java:12)
	at hva.core.Tree.toString(Tree.java:44)
	at hva.app.habitat.DoShowAllTreesInHabitat.execute(DoShowAllTreesInHabitat.java:27)
	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	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-07-09-M-ok.out	Sat Oct 26 00:57:35 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: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) 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 árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 36,43 ****
  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
--- 34,40 ----
  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) Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  4      
*** 45,52 ****
  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
--- 42,48 ----
  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) Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  5      
*** 54,82 ****
  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
--- 50,53 ----
  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-10-M-ok.in                           
Running: Running: *** expected/A-07-10-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-07-10-M-ok.out	Sat Oct 26 00:57:35 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: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) 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 árvore: Nome da árvore: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  3      
*** 36,43 ****
  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
--- 34,40 ----
  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) Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  4      
*** 45,52 ****
  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
--- 42,48 ----
  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) Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  5      
*** 55,65 ****
  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
--- 51,56 ----
output differs from expected
                           A-07-12-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Season.next()" because "this._season" is null
	at hva.core.Hotel.nextSeason(Hotel.java:265)
	at hva.core.HotelManager.nextSeason(HotelManager.java:106)
	at hva.app.main.DoAdvanceSeason.execute(DoAdvanceSeason.java:20)
	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-12-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-07-12-M-ok.out	Sat Oct 26 00:57:35 2024
      ZONE  1      
*** 18,151 ****
  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
! 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: 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: ÁRVORE|t1|t1|1|1|CADUCA|COMFOLHAS
! 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: 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
! 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|t1|t1|1|1|CADUCA|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
! 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: Identificador único do habitat: ÁRVORE|t1|t1|1|1|CADUCA|SEMFOLHAS
! 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: Idade da árvore: Dificuldade de limpeza da árvore: Tipo de árvore: (CADUCA ou PERENE) Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
output differs from expected
                           A-08-01-M-ok.in                           
Running: Running: *** expected/A-08-01-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-08-01-M-ok.out	Sat Oct 26 00:57:35 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	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-08-02-M-ok.out	Sat Oct 26 00:57:35 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-09-01-M-ok.in                           
Running: Running: Exception in thread "main" pt.tecnico.uilib.forms.FormException: O formulário 'Registar animal' não está preenchido. Invoque o método parse() primeiro.
	at pt.tecnico.uilib.forms.Form.get(Form.java:147)
	at pt.tecnico.uilib.forms.Form.stringField(Form.java:167)
	at pt.tecnico.uilib.menus.Command.stringField(Command.java:138)
	at hva.app.animal.DoRegisterAnimal.execute(DoRegisterAnimal.java:34)
	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.DoOpenAnimalsMenu.execute(DoOpenAnimalsMenu.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-09-01-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-09-01-M-ok.out	Sat Oct 26 00:57:35 2024
      ZONE  1      
*** 16,44 ****
  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|a1|animal1|C10|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 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único do habitat: Identificador único da espécie: 
\ No newline at end of file
output differs from expected
                           A-09-02-M-ok.in                           
Running: Running: Exception in thread "main" pt.tecnico.uilib.forms.FormException: O formulário 'Registar animal' não está preenchido. Invoque o método parse() primeiro.
	at pt.tecnico.uilib.forms.Form.get(Form.java:147)
	at pt.tecnico.uilib.forms.Form.stringField(Form.java:167)
	at pt.tecnico.uilib.menus.Command.stringField(Command.java:138)
	at hva.app.animal.DoRegisterAnimal.execute(DoRegisterAnimal.java:34)
	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.DoOpenAnimalsMenu.execute(DoOpenAnimalsMenu.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-09-02-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-09-02-M-ok.out	Sat Oct 26 00:57:35 2024
      ZONE  1      
*** 16,38 ****
  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
! 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 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único do habitat: Identificador único da espécie: 
\ No newline at end of file
output differs from expected
                           A-09-03-M-ok.in                           
Running: Running: Exception in thread "main" pt.tecnico.uilib.forms.FormException: O formulário 'Registar animal' não está preenchido. Invoque o método parse() primeiro.
	at pt.tecnico.uilib.forms.Form.get(Form.java:147)
	at pt.tecnico.uilib.forms.Form.stringField(Form.java:167)
	at pt.tecnico.uilib.menus.Command.stringField(Command.java:138)
	at hva.app.animal.DoRegisterAnimal.execute(DoRegisterAnimal.java:34)
	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.DoOpenAnimalsMenu.execute(DoOpenAnimalsMenu.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-09-03-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-09-03-M-ok.out	Sat Oct 26 00:57:35 2024
      ZONE  1      
*** 16,51 ****
  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: Registar animal: Operação inválida: O animal 'a2' 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|a2|animal 2|C10|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 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: Nome do animal: Identificador único do habitat: Identificador único da espécie: 
\ No newline at end of file
output differs from expected
                           A-09-08-M-ok.in                           
Running: Running: Exception in thread "main" pt.tecnico.uilib.forms.FormException: O formulário 'Registar animal' não está preenchido. Invoque o método parse() primeiro.
	at pt.tecnico.uilib.forms.Form.get(Form.java:147)
	at pt.tecnico.uilib.forms.Form.stringField(Form.java:167)
	at pt.tecnico.uilib.menus.Command.stringField(Command.java:138)
	at hva.app.animal.DoRegisterAnimal.execute(DoRegisterAnimal.java:34)
	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.DoOpenAnimalsMenu.execute(DoOpenAnimalsMenu.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-09-08-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-09-08-M-ok.out	Sat Oct 26 00:57:35 2024
      ZONE  1      
*** 68,96 ****
  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|a1|patudo|C1|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
--- 68,71 ----
  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 do habitat: Identificador único da espécie: 
\ No newline at end of file
output differs from expected
                           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: *** expected/A-10-03-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-10-03-M-ok.out	Sat Oct 26 00:57:36 2024
      ZONE  1      
*** 50,71 ****
  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
  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|A2|Pinguim 2|C1|VOID|AR2
! 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
--- 50,69 ----
  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-10-04-M-ok.in                           
Running: Running: *** expected/A-10-04-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-10-04-M-ok.out	Sat Oct 26 00:57:36 2024
      ZONE  1      
*** 50,71 ****
  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
! 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
! ANIMAL|A2|Pinguim 2|C1|VOID|AR2
! ANIMAL|A4|Macaco 2|C2|VOID|AR2
! 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
--- 50,69 ----
  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  2      
*** 118,129 ****
  3 - Actos médicos de um veterinário
  4 - Vacinações com problemas
  0 - Sair
! Escolha uma opção: Identificador único do habitat: 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
--- 116,128 ----
  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-11-01-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Animal.computeSatisfaction()" because the return value of "java.util.HashMap.get(Object)" is null
	at hva.app.animal.DoShowSatisfactionOfAnimal.execute(DoShowSatisfactionOfAnimal.java:23)
	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.DoOpenAnimalsMenu.execute(DoOpenAnimalsMenu.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-11-01-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-11-01-M-ok.out	Sat Oct 26 00:57:36 2024
      ZONE  1      
*** 46,68 ****
  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
! 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
--- 46,49 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-11-02-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Adequation.getValue()" because the return value of "java.util.HashMap.get(Object)" is null
	at hva.core.Habitat.getAdequationValue(Habitat.java:30)
	at hva.core.Animal.computeSatisfaction(Animal.java:31)
	at hva.app.animal.DoShowSatisfactionOfAnimal.execute(DoShowSatisfactionOfAnimal.java:23)
	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.DoOpenAnimalsMenu.execute(DoOpenAnimalsMenu.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-11-02-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-11-02-M-ok.out	Sat Oct 26 00:57:36 2024
      ZONE  1      
*** 16,38 ****
  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
! 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 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-11-04-M-ok.in                           
Running: Running: *** expected/A-11-04-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-11-04-M-ok.out	Sat Oct 26 00:57:36 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): 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): 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,56 ****
  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: 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: 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
--- 26,41 ----
  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 '4' 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: 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	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-11-05-M-ok.out	Sat Oct 26 00:57:36 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): 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): 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,56 ****
  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: 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: 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
--- 26,41 ----
  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 '4' 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: Número inválido!
  Escolha uma opção: Menu Principal
  1 - Criar ficheiro
  2 - Abrir ficheiro
      ZONE  3      
*** 71,77 ****
  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
--- 56,62 ----
  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): Gestão de Habitats
  1 - Visualizar todos os habitats
  2 - Registar habitat
  3 - Alterar área de habitat
      ZONE  4      
*** 79,109 ****
  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: 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: 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
--- 64,79 ----
  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 '4' 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: 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: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Adequation.getValue()" because the return value of "java.util.HashMap.get(Object)" is null
	at hva.core.Habitat.getAdequationValue(Habitat.java:30)
	at hva.core.Animal.computeSatisfaction(Animal.java:31)
	at hva.app.animal.DoShowSatisfactionOfAnimal.execute(DoShowSatisfactionOfAnimal.java:23)
	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.DoOpenAnimalsMenu.execute(DoOpenAnimalsMenu.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-11-08-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-11-08-M-ok.out	Sat Oct 26 00:57:36 2024
      ZONE  1      
*** 27,63 ****
  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
! 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
--- 27,30 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-11-11-M-ok.in                           
Running: Running: *** expected/A-11-11-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-11-11-M-ok.out	Sat Oct 26 00:57:36 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): 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): 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,56 ****
  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: 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: 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
--- 26,41 ----
  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 '4' 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: 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: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Adequation.getValue()" because the return value of "java.util.HashMap.get(Object)" is null
	at hva.core.Habitat.getAdequationValue(Habitat.java:30)
	at hva.core.Animal.computeSatisfaction(Animal.java:31)
	at hva.app.animal.DoShowSatisfactionOfAnimal.execute(DoShowSatisfactionOfAnimal.java:23)
	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.DoOpenAnimalsMenu.execute(DoOpenAnimalsMenu.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-11-12-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-11-12-M-ok.out	Sat Oct 26 00:57:36 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): 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): 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,44 ****
  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: 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      
*** 64,93 ****
  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
! 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
--- 53,56 ----
  3 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           A-11-14-M-ok.in                           
Running: Running: Exception in thread "main" java.lang.NullPointerException: Cannot invoke "hva.core.Adequation.getValue()" because the return value of "java.util.HashMap.get(Object)" is null
	at hva.core.Habitat.getAdequationValue(Habitat.java:30)
	at hva.core.Animal.computeSatisfaction(Animal.java:31)
	at hva.app.animal.DoShowSatisfactionOfAnimal.execute(DoShowSatisfactionOfAnimal.java:23)
	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.DoOpenAnimalsMenu.execute(DoOpenAnimalsMenu.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-11-14-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-11-14-M-ok.out	Sat Oct 26 00:57:36 2024
      ZONE  1      
*** 16,38 ****
  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
! 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 - Transferir para habitat
  4 - Calcular satisfação de animal
  0 - Sair
! Escolha uma opção: Identificador único do animal: 
\ No newline at end of file
output differs from expected
                           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-17-02-M-ok.in                           
Running: Running: *** expected/A-17-02-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-17-02-M-ok.out	Sat Oct 26 00:57:37 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: O funcionário 'V2' 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 'T2' não existe.
! 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-08-M-ok.in                           
Running: Running: TEST PASSED!
                           A-18-02-M-ok.in                           
Running: Running: *** expected/A-18-02-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-18-02-M-ok.out	Sat Oct 26 00:57:37 2024
      ZONE  1      
*** 47,60 ****
  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
  VET|V1|Vet one|C1,C2
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
--- 47,62 ----
  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: Número inválido!
! Escolha uma opção: TRT|T1|Trt one|H1
  VET|V1|Vet one|C1,C2
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
      ZONE  2      
*** 63,77 ****
  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
! VET|V1|Vet one|C2
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
--- 65,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: Número inválido!
! Escolha uma opção: TRT|T1|Trt one|H1
! VET|V1|Vet one|C1,C2
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
output differs from expected
                           A-18-04-M-ok.in                           
Running: Running: *** expected/A-18-04-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-18-04-M-ok.out	Sat Oct 26 00:57:37 2024
      ZONE  1      
*** 33,46 ****
  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
  VET|V1|Vet one
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
--- 33,48 ----
  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: Número inválido!
! Escolha uma opção: TRT|T1|Trt one|H1
  VET|V1|Vet one
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
output differs from expected
                           A-18-05-M-ok.in                           
Running: Running: *** expected/A-18-05-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-18-05-M-ok.out	Sat Oct 26 00:57:37 2024
      ZONE  1      
*** 26,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: 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|C1
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
--- 26,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: Número inválido!
  Escolha uma opção: TRT|T1|Trt one
! VET|V1|Vet one|C1,C2
  Gestão de Funcionários
  1 - Visualizar todos os funcionários
  2 - Registar funcionário
output differs from expected
                           A-19-01-M-ok.in                           
Running: Running: *** expected/A-19-01-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-19-01-M-ok.out	Sat Oct 26 00:57:38 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	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-19-02-M-ok.out	Sat Oct 26 00:57:38 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	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-19-03-M-ok.out	Sat Oct 26 00:57:38 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	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-19-04-M-ok.out	Sat Oct 26 00:57:38 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-09-M-ok.in                           
Running: Running: *** expected/A-19-09-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-19-09-M-ok.out	Sat Oct 26 00:57:38 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	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-19-10-M-ok.out	Sat Oct 26 00:57:38 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	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-19-11-M-ok.out	Sat Oct 26 00:57:38 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-13-M-ok.in                           
Running: Running: *** expected/A-19-13-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-19-13-M-ok.out	Sat Oct 26 00:57:38 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-20-01-M-ok.in                           
Running: Running: Exception in thread "main" pt.tecnico.uilib.forms.FormException: O formulário 'Registar vacina' não está preenchido. Invoque o método parse() primeiro.
	at pt.tecnico.uilib.forms.Form.get(Form.java:147)
	at pt.tecnico.uilib.forms.Form.optionField(Form.java:175)
	at pt.tecnico.uilib.menus.Command.optionField(Command.java:142)
	at hva.app.vaccine.DoRegisterVaccine.execute(DoRegisterVaccine.java:27)
	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-20-01-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-20-01-M-ok.out	Sat Oct 26 00:57:38 2024
      ZONE  1      
*** 16,58 ****
  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|Vac1|Nome 1|0|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: 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|Vac1|Nome 1|0|E1
! VACINA|Vac2|Nome 2|0|E1,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: 
\ No newline at end of file
--- 16,19 ----
  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: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-20-02-M-ok.in                           
Running: Running: Exception in thread "main" pt.tecnico.uilib.forms.FormException: O formulário 'Registar vacina' não está preenchido. Invoque o método parse() primeiro.
	at pt.tecnico.uilib.forms.Form.get(Form.java:147)
	at pt.tecnico.uilib.forms.Form.optionField(Form.java:175)
	at pt.tecnico.uilib.menus.Command.optionField(Command.java:142)
	at hva.app.vaccine.DoRegisterVaccine.execute(DoRegisterVaccine.java:27)
	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-20-02-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-20-02-M-ok.out	Sat Oct 26 00:57:38 2024
      ZONE  1      
*** 16,44 ****
  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
! 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: Nome da vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-20-04-M-ok.in                           
Running: Running: Exception in thread "main" pt.tecnico.uilib.forms.FormException: O formulário 'Registar vacina' não está preenchido. Invoque o método parse() primeiro.
	at pt.tecnico.uilib.forms.Form.get(Form.java:147)
	at pt.tecnico.uilib.forms.Form.optionField(Form.java:175)
	at pt.tecnico.uilib.menus.Command.optionField(Command.java:142)
	at hva.app.vaccine.DoRegisterVaccine.execute(DoRegisterVaccine.java:27)
	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-20-04-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-20-04-M-ok.out	Sat Oct 26 00:57:38 2024
      ZONE  1      
*** 23,52 ****
  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 vacina 'V1' já 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: Nome da vacina: Identificadores das espécies que podem receber a vacina: Registar vacina: Operação inválida: A vacina 'v1' já 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: Nome da vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Identificadores das espécies que podem receber a vacina: Fim de entrada de dados (R-EOF): pt.tecnico.uilib.text.RuntimeEOFException: Fim do fluxo de dados de entrada
output differs from expected
                           A-21-02-M-ok.in                           
Running: Running: *** expected/A-21-02-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-21-02-M-ok.out	Sat Oct 26 00:57:38 2024
      ZONE  1      
*** 16,28 ****
  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 'Trt1' 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
--- 16,30 ----
  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: 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-21-03-M-ok.in                           
Running: Running: *** expected/A-21-03-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-21-03-M-ok.out	Sat Oct 26 00:57:39 2024
      ZONE  1      
*** 16,28 ****
  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
--- 16,30 ----
  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: 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-21-05-M-ok.in                           
Running: Running: *** expected/A-21-05-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-21-05-M-ok.out	Sat Oct 26 00:57:39 2024
      ZONE  1      
*** 16,29 ****
  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
--- 16,31 ----
  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: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! 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-06-M-ok.in                           
Running: Running: *** expected/A-21-06-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-21-06-M-ok.out	Sat Oct 26 00:57:39 2024
      ZONE  1      
*** 16,27 ****
  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
--- 16,30 ----
  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: 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
      ZONE  2      
*** 40,46 ****
  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
--- 43,49 ----
  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|VOID|H1
  ANIMAL|AA3|Malhado|E2|VOID|H1
  Gestão de Animais
output differs from expected
                           A-21-07-M-ok.in                           
Running: Running: *** expected/A-21-07-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-21-07-M-ok.out	Sat Oct 26 00:57:39 2024
      ZONE  1      
*** 16,36 ****
  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
--- 16,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: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! 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: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! 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-08-M-ok.in                           
Running: Running: *** expected/A-21-08-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-21-08-M-ok.out	Sat Oct 26 00:57:39 2024
      ZONE  1      
*** 16,34 ****
  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
--- 16,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: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! 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: 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
      ZONE  2      
*** 48,55 ****
  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
--- 54,61 ----
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: ANIMAL|AA1|Patudo|E1|VOID|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
output differs from expected
                           A-21-10-M-ok.in                           
Running: Running: *** expected/A-21-10-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-21-10-M-ok.out	Sat Oct 26 00:57:39 2024
      ZONE  1      
*** 17,37 ****
  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
--- 17,41 ----
  4 - Mostrar vacinações
  0 - Sair
  Escolha uma opção: Número inválido!
! 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: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! 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: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Gestão de Vacinas
  1 - Visualizar todas as vacinas
  2 - Registar vacina
  3 - Vacinar animal
      ZONE  2      
*** 56,63 ****
  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
--- 60,67 ----
  4 - Calcular satisfação de animal
  0 - Sair
  Escolha uma opção: ANIMAL|AA1|Patudo|E1|VOID|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
      ZONE  3      
*** 82,90 ****
  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
--- 86,94 ----
  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
output differs from expected
                           A-21-13-M-ok.in                           
Running: Running: *** expected/A-21-13-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-21-13-M-ok.out	Sat Oct 26 00:57:39 2024
      ZONE  1      
*** 16,35 ****
  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
--- 16,39 ----
  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: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! 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: 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
      ZONE  2      
*** 48,56 ****
  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
--- 52,60 ----
  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|VOID|H1
! ANIMAL|AA3|Malhado|E2|VOID|H1
  Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
      ZONE  3      
*** 69,72 ****
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
--- 73,76 ----
  9 - Gestão de vacinas
  10 - Consultas
  0 - Sair
! Escolha uma opção: 
\ No newline at end of file
output differs from expected
                           A-21-14-M-ok.in                           
Running: Running: *** expected/A-21-14-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-21-14-M-ok.out	Sat Oct 26 00:57:39 2024
      ZONE  1      
*** 17,36 ****
  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
--- 17,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: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! 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: 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
      ZONE  2      
*** 49,57 ****
  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
--- 53,61 ----
  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|VOID|H1
! ANIMAL|AA3|Malhado|E2|VOID|H1
  Gestão de Animais
  1 - Visualizar todos os animais
  2 - Registar animal
      ZONE  3      
*** 76,91 ****
  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
--- 80,93 ----
  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
output differs from expected
                           A-22-02-M-ok.in                           
Running: Running: *** expected/A-22-02-M-ok.out	Sat Oct 19 17:48:37 2024
--- checked-out/075/075_A-22-02-M-ok.out	Sat Oct 26 00:57:39 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 habitat: 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|Nome 1|E1|VOID|H1
! 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-01-M-ok.in                           
Running: Running: *** expected/A-23-01-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-23-01-M-ok.out	Sat Oct 26 00:57:39 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-24-01-M-ok.in                           
Running: Running: *** expected/A-24-01-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-24-01-M-ok.out	Sat Oct 26 00:57:39 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-03-M-ok.in                           
Running: Running: *** expected/A-24-03-M-ok.out	Fri Oct 18 19:27:35 2024
--- checked-out/075/075_A-24-03-M-ok.out	Sat Oct 26 00:57:39 2024
      ZONE  1      
*** 16,27 ****
  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
--- 16,30 ----
  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: 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
      ZONE  2      
*** 40,52 ****
  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
--- 43,55 ----
  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-25-01-M-ok.in                           
Running: Running: *** expected/A-25-01-M-ok.out	Sat Oct 19 15:14:49 2024
--- checked-out/075/075_A-25-01-M-ok.out	Sat Oct 26 00:57:40 2024
      ZONE  1      
*** 40,57 ****
  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
--- 40,63 ----
  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: Número inválido!
! Escolha uma opção: Número inválido!
! Escolha uma opção: Número inválido!
! 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: 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
      ZONE  2      
*** 112,124 ****
  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
--- 118,132 ----
  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: 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
      ZONE  3      
*** 137,144 ****
  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
--- 145,151 ----
  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