US6001 - ArthurSchiavom/gestao-informacao-chao-de-fabrica--projeto-academico GitHub Wiki
Como Sistema de Monitorização das Máquinas (SMM), pretendo monitorizar o estado das máquinas por linha de produção.
Singleton - Foi utilizado um singleton para guardar os dados das linhas de produção que por sua vez guardam os dados das máquinas
Todos os padrões essenciais: SOLID, GRASP, Gang of Four
@Test(expected = IllegalArgumentException.class)
public void garantirQueIdMenorQue65535() {
new IdMaquina(65536);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueIdMaiorQue0() {
new IdMaquina(-1);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueHa2Bytes() {
byte[] bytes = new byte[3];
new IdMaquina(bytes);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueMaquinaTemIdMaquina() {
new Maquina(null, EstadoMaquina.SUSPENSO);
}@Test(expected = IllegalArgumentException.class)
public void garantirqueMaquinaTemEstado() {
new Maquina(new IdMaquina(2), null);
}@Test(expected = IllegalArgumentException.class)
public void atualizarMaquinaComCodigoInvalido() {
linhaProducao.adicionarMaquina(idMaquina, Codigos.ACK);
linhaProducao.atualizarMaquina(idMaquina, Codigos.HELLO);
}@Test(expected = IllegalArgumentException.class)
public void adicionarMaquinaComCodigoInvalido() {
linhaProducao.adicionarMaquina(idMaquina, Codigos.HELLO);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueDataLengthMenorQue506() {
new DataLength(507);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueDataLengthMaiorQue0() {
new DataLength(-1);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueMessageDataTemRawData() {
new MessageData((RawData) null);
}@Test
public void garantirQueRawDataMantemValorCoerente() {
byte[] rawBytes = {5,0,'t','e','s','t','e'};
MessageData messageData = new MessageData(rawBytes);
assertEquals(new String(messageData.rawData.toByteArray()), "teste");
}@Test(expected = IllegalArgumentException.class)
public void garantirQueRawDataNaoTemStringNull() {
new RawData((String) null);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueRawDataNaoTemStringNullBytes() {
new RawData((byte[]) null);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueNadaVersaoNaoPodeSerNull() {
try {
new HelloBroadcast(null, 9999);
} catch (UnknownHostException e) {
fail();
}
}@Test(expected = IllegalArgumentException.class)
public void garantirQueBroadcastNaoPodeTerUmPacoteNull() {
BroadcastAcknowledge brkack = new BroadcastAcknowledge(null);
}@Test(expected = IllegalArgumentException.class)
public void garantirQuePacoteTem6Bytes() {
byte[] bytes = new byte[4];
DatagramPacket data = new DatagramPacket(bytes, bytes.length);
new BroadcastAcknowledge(data);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueVersaoNaoEMaiorQue0() {
new Version(-1);
}@Test(expected = IllegalArgumentException.class)
public void garantirQueVersaoEMenorQue255() {
new Version(265);
}n/a
n/a