From 1a840fb734dd4bb6eb9d71bdd932f3f6ec882322 Mon Sep 17 00:00:00 2001 From: Andrea Giulianelli Date: Tue, 9 May 2023 17:32:08 +0200 Subject: [PATCH] test: add tests for measurements concepts --- .../entity/measurements/MeasurementsTest.kt | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/test/kotlin/entity/measurements/MeasurementsTest.kt diff --git a/src/test/kotlin/entity/measurements/MeasurementsTest.kt b/src/test/kotlin/entity/measurements/MeasurementsTest.kt new file mode 100644 index 0000000..2c19760 --- /dev/null +++ b/src/test/kotlin/entity/measurements/MeasurementsTest.kt @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2023. Smart Operating Block + * + * Use of this source code is governed by an MIT-style + * license that can be found in the LICENSE file or at + * https://opensource.org/licenses/MIT. + */ + +package entity.measurements + +import io.kotest.assertions.throwables.shouldNotThrow +import io.kotest.assertions.throwables.shouldThrow +import io.kotest.core.spec.style.StringSpec + +class MeasurementsTest : StringSpec({ + val negativeLuminosityValue = -10.0 + val positiveLuminosityValue = 10.0 + val outsidePercentageValue = 110.0 + val correctPercentageValue = 100.0 + + "it should be impossible to create a luminosity object with negative value" { + shouldThrow { Luminosity(negativeLuminosityValue) } + } + + "it should be possible to create a correct luminosity with positive values" { + shouldNotThrow { Luminosity(positiveLuminosityValue) } + } + + "it should not be possible to create a percentage with a value outside its range" { + shouldThrow { Percentage(outsidePercentageValue) } + } + + "it should be possible to create a percentage with a value within its range" { + shouldNotThrow { Percentage(correctPercentageValue) } + } +})