From 8049646a8aeb5c17d9fbd300226654f06a210908 Mon Sep 17 00:00:00 2001 From: Arity-T Date: Tue, 11 Feb 2025 12:57:39 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=B5=D1=81=D1=82=D1=8B=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D0=BD=D1=82=D0=B8=D0=BB=D1=8F=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ru/spbstu/telematics/java/FanTests.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 lab3/src/test/java/ru/spbstu/telematics/java/FanTests.java diff --git a/lab3/src/test/java/ru/spbstu/telematics/java/FanTests.java b/lab3/src/test/java/ru/spbstu/telematics/java/FanTests.java new file mode 100644 index 0000000..0d91fc3 --- /dev/null +++ b/lab3/src/test/java/ru/spbstu/telematics/java/FanTests.java @@ -0,0 +1,57 @@ +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 FanTests { + Room room; + double initialTemperature; + double initialHumidity; + Fan fan; + Thread fanThread; + + @BeforeEach + public void setUp() { + room = new Room(); + initialTemperature = room.getTemperature(); + initialHumidity = room.getHumidity(); + fan = new Fan(room); + fanThread = new Thread(fan); + } + + /* + * Проверяет, что включенный вентилятор уменьшает влажность в комнате + * и при этом не изменяет температуру. + */ + @Test + public void testFanOn() throws InterruptedException { + fan.turnOn(); + fanThread.start(); + + Thread.sleep(5000); + + assertEquals(initialTemperature, room.getTemperature()); + assertTrue(initialHumidity > room.getHumidity()); + + fanThread.interrupt(); + fanThread.join(); + } + + /* + * Проверяет, что выключенный вентилятор не изменяет температуру и влажность + * в комнате. + */ + @Test + public void testFanOff() throws InterruptedException { + fanThread.start(); + + Thread.sleep(5000); + + assertEquals(initialHumidity, room.getHumidity()); + assertEquals(initialTemperature, room.getTemperature()); + + fanThread.interrupt(); + fanThread.join(); + } +}