From 9b60a61105646ee41e09cfddd6e31444ff1a9818 Mon Sep 17 00:00:00 2001 From: juanpostiglione Date: Mon, 15 Sep 2025 13:19:50 -0400 Subject: [PATCH 1/6] add new ts files --- src/averageTemperatureReading.ts | 4 ++++ src/test/averageTemperatureReading.test.ts | 16 ++++++++++++++++ src/test/toggleLed.test.ts | 12 ++++++++++++ src/test/turnOnFan.test.ts | 21 +++++++++++++++++++++ src/toggleLed.ts | 3 +++ src/turnOnFan.ts | 3 +++ 6 files changed, 59 insertions(+) create mode 100644 src/averageTemperatureReading.ts create mode 100644 src/test/averageTemperatureReading.test.ts create mode 100644 src/test/toggleLed.test.ts create mode 100644 src/test/turnOnFan.test.ts create mode 100644 src/toggleLed.ts create mode 100644 src/turnOnFan.ts diff --git a/src/averageTemperatureReading.ts b/src/averageTemperatureReading.ts new file mode 100644 index 0000000..cb1af66 --- /dev/null +++ b/src/averageTemperatureReading.ts @@ -0,0 +1,4 @@ +export function averageTemperatureReading(values: number[]): number { + if (values.length === 0) return 0; + return values.reduce((a, b) => a + b, 0) / values.length; +} diff --git a/src/test/averageTemperatureReading.test.ts b/src/test/averageTemperatureReading.test.ts new file mode 100644 index 0000000..b677fe0 --- /dev/null +++ b/src/test/averageTemperatureReading.test.ts @@ -0,0 +1,16 @@ +import { describe, it, expect } from "vitest"; +import { averageTemperatureReading } from "../averageTemperatureReading"; + +describe("averageTemperatureReading", () => { + it("should return the average of multiple values", () => { + expect(averageTemperatureReading([10, 20, 30])).toBe(20); + }); + + it("should return the same value if only one element", () => { + expect(averageTemperatureReading([42])).toBe(42); + }); + + it("should return 0 for an empty array", () => { + expect(averageTemperatureReading([])).toBe(0); + }); +}); diff --git a/src/test/toggleLed.test.ts b/src/test/toggleLed.test.ts new file mode 100644 index 0000000..5e14bd4 --- /dev/null +++ b/src/test/toggleLed.test.ts @@ -0,0 +1,12 @@ +import { describe, it, expect } from "vitest"; +import { toggleLed } from "../toggleLed"; + +describe("toggleLed", () => { + it("should turn ON when currently OFF", () => { + expect(toggleLed(false)).toBe(true); + }); + + it("should turn OFF when currently ON", () => { + expect(toggleLed(true)).toBe(false); + }); +}); diff --git a/src/test/turnOnFan.test.ts b/src/test/turnOnFan.test.ts new file mode 100644 index 0000000..b0d598e --- /dev/null +++ b/src/test/turnOnFan.test.ts @@ -0,0 +1,21 @@ +import { describe, it, expect } from "vitest"; +import { turnOnFan } from "../turnOnFan"; + +describe("turnOnFan", () => { + it("should turn fan ON when temperature is above threshold", () => { + expect(turnOnFan(35)).toBe(true); + }); + + it("should keep fan OFF when temperature is below threshold", () => { + expect(turnOnFan(25)).toBe(false); + }); + + it("should keep fan OFF when temperature is exactly at the threshold", () => { + expect(turnOnFan(30)).toBe(false); + }); + + it("should use custom threshold if provided", () => { + expect(turnOnFan(50, 45)).toBe(true); + expect(turnOnFan(40, 45)).toBe(false); + }); +}); diff --git a/src/toggleLed.ts b/src/toggleLed.ts new file mode 100644 index 0000000..61d68b1 --- /dev/null +++ b/src/toggleLed.ts @@ -0,0 +1,3 @@ +export function toggleLed(state: boolean): boolean { + return !state; +} diff --git a/src/turnOnFan.ts b/src/turnOnFan.ts new file mode 100644 index 0000000..2ef56ef --- /dev/null +++ b/src/turnOnFan.ts @@ -0,0 +1,3 @@ +export function turnOnFan(temperature: number, threshold: number = 30): boolean { + return temperature > threshold; +} From 1797faab186a9fd9d54c191de4ada19adc7afc37 Mon Sep 17 00:00:00 2001 From: juanpostiglione Date: Mon, 15 Sep 2025 13:50:33 -0400 Subject: [PATCH 2/6] trigger CI From dc9ef721b7c0b082e562de5619a653f256e702ee Mon Sep 17 00:00:00 2001 From: juanpostiglione Date: Mon, 15 Sep 2025 13:51:04 -0400 Subject: [PATCH 3/6] trigger CI From 1bee6e6ae808f1a9a98310da740a5c0f75bfd2ed Mon Sep 17 00:00:00 2001 From: juanpostiglione Date: Mon, 15 Sep 2025 13:53:47 -0400 Subject: [PATCH 4/6] trigger CI --- src/test/averageTemperatureReading.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/averageTemperatureReading.test.ts b/src/test/averageTemperatureReading.test.ts index b677fe0..e65f283 100644 --- a/src/test/averageTemperatureReading.test.ts +++ b/src/test/averageTemperatureReading.test.ts @@ -3,7 +3,7 @@ import { averageTemperatureReading } from "../averageTemperatureReading"; describe("averageTemperatureReading", () => { it("should return the average of multiple values", () => { - expect(averageTemperatureReading([10, 20, 30])).toBe(20); + expect(averageTemperatureReading([10, 20, 30])).toBe(30); }); it("should return the same value if only one element", () => { From b572e7eedced8f093a1cf86624404dacd76a6963 Mon Sep 17 00:00:00 2001 From: juanpostiglione Date: Mon, 15 Sep 2025 14:00:00 -0400 Subject: [PATCH 5/6] trigger CI --- src/test/averageTemperatureReading.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/averageTemperatureReading.test.ts b/src/test/averageTemperatureReading.test.ts index e65f283..b677fe0 100644 --- a/src/test/averageTemperatureReading.test.ts +++ b/src/test/averageTemperatureReading.test.ts @@ -3,7 +3,7 @@ import { averageTemperatureReading } from "../averageTemperatureReading"; describe("averageTemperatureReading", () => { it("should return the average of multiple values", () => { - expect(averageTemperatureReading([10, 20, 30])).toBe(30); + expect(averageTemperatureReading([10, 20, 30])).toBe(20); }); it("should return the same value if only one element", () => { From 6ddadc7dbf4c853891205f0ca44aba9de70f9980 Mon Sep 17 00:00:00 2001 From: juanpostiglione Date: Mon, 15 Sep 2025 14:06:30 -0400 Subject: [PATCH 6/6] Failing --- src/test/averageTemperatureReading.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/averageTemperatureReading.test.ts b/src/test/averageTemperatureReading.test.ts index b677fe0..e65f283 100644 --- a/src/test/averageTemperatureReading.test.ts +++ b/src/test/averageTemperatureReading.test.ts @@ -3,7 +3,7 @@ import { averageTemperatureReading } from "../averageTemperatureReading"; describe("averageTemperatureReading", () => { it("should return the average of multiple values", () => { - expect(averageTemperatureReading([10, 20, 30])).toBe(20); + expect(averageTemperatureReading([10, 20, 30])).toBe(30); }); it("should return the same value if only one element", () => {