Тесты для нагревателя

This commit is contained in:
2025-02-11 12:31:21 +03:00
parent f03ac31ae4
commit aef1113061

View File

@@ -0,0 +1,58 @@
package ru.spbstu.telematics.java;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeEach;
import static org.junit.jupiter.api.Assertions.*;
public class HeaterTests {
Room room;
double initialTemperature;
double initialHumidity;
Heater heater;
Thread heaterThread;
@BeforeEach
public void setUp() {
room = new Room();
initialTemperature = room.getTemperature();
initialHumidity = room.getHumidity();
heater = new Heater(room);
heaterThread = new Thread(heater);
}
/*
* Проверяет, что включенный нагреватель увеличивает температуру в комнате
* и при этом не изменяет влажность.
*/
@Test
public void testHeaterOn() throws InterruptedException {
heater.turnOn();
heaterThread.start();
Thread.sleep(5000);
assertEquals(initialHumidity, room.getHumidity());
assertTrue(initialTemperature < room.getTemperature());
heaterThread.interrupt();
heaterThread.join();
}
/*
* Проверяет, что выключенный нагреватель не изменяет температуру и влажность
* в комнате.
*/
@Test
public void testHeaterOff() throws InterruptedException {
heaterThread.start();
Thread.sleep(5000);
assertEquals(initialHumidity, room.getHumidity());
assertEquals(initialTemperature, room.getTemperature());
heaterThread.interrupt();
heaterThread.join();
}
}