Best Kotest code snippet using io.kotest.matchers.doubles.Infinity.test
DoubleMatchersTest.kt
Source:DoubleMatchersTest.kt
1package com.sksamuel.kotest.matchers.doubles2import io.kotest.assertions.shouldFail3import io.kotest.assertions.throwables.shouldThrow4import io.kotest.core.spec.style.FreeSpec5import io.kotest.matchers.doubles.beGreaterThan6import io.kotest.matchers.doubles.beGreaterThanOrEqualTo7import io.kotest.matchers.doubles.beLessThan8import io.kotest.matchers.doubles.beLessThanOrEqualTo9import io.kotest.matchers.doubles.beNaN10import io.kotest.matchers.doubles.beNegativeInfinity11import io.kotest.matchers.doubles.bePositiveInfinity12import io.kotest.matchers.doubles.between13import io.kotest.matchers.doubles.gt14import io.kotest.matchers.doubles.gte15import io.kotest.matchers.doubles.lt16import io.kotest.matchers.doubles.lte17import io.kotest.matchers.doubles.negative18import io.kotest.matchers.doubles.positive19import io.kotest.matchers.doubles.shouldBeBetween20import io.kotest.matchers.doubles.shouldBeGreaterThan21import io.kotest.matchers.doubles.shouldBeGreaterThanOrEqual22import io.kotest.matchers.doubles.shouldBeLessThan23import io.kotest.matchers.doubles.shouldBeLessThanOrEqual24import io.kotest.matchers.doubles.shouldBeMultipleOf25import io.kotest.matchers.doubles.shouldBeNaN26import io.kotest.matchers.doubles.shouldBeNegative27import io.kotest.matchers.doubles.shouldBeNegativeInfinity28import io.kotest.matchers.doubles.shouldBePositive29import io.kotest.matchers.doubles.shouldBePositiveInfinity30import io.kotest.matchers.doubles.shouldBeZero31import io.kotest.matchers.doubles.shouldNotBeBetween32import io.kotest.matchers.doubles.shouldNotBeGreaterThan33import io.kotest.matchers.doubles.shouldNotBeGreaterThanOrEqual34import io.kotest.matchers.doubles.shouldNotBeLessThan35import io.kotest.matchers.doubles.shouldNotBeLessThanOrEqual36import io.kotest.matchers.doubles.shouldNotBeNaN37import io.kotest.matchers.doubles.shouldNotBeNegative38import io.kotest.matchers.doubles.shouldNotBeNegativeInfinity39import io.kotest.matchers.doubles.shouldNotBePositive40import io.kotest.matchers.doubles.shouldNotBePositiveInfinity41import io.kotest.matchers.doubles.shouldNotBeZero42import io.kotest.matchers.should43import io.kotest.matchers.shouldBe44import io.kotest.matchers.shouldNot45import io.kotest.matchers.shouldNotBe46import io.kotest.property.arbitrary.filterNot47import io.kotest.property.checkAll48import kotlin.Double.Companion.MAX_VALUE49import kotlin.Double.Companion.MIN_VALUE50import kotlin.Double.Companion.NEGATIVE_INFINITY51import kotlin.Double.Companion.NaN52import kotlin.Double.Companion.POSITIVE_INFINITY53import kotlin.math.absoluteValue54class DoubleMatchersTest : FreeSpec() {55 init {56 "Between matcher" - {57 "Every numeric double that is not Double.MAX_VALUE" - {58 "Should match between" - {59 "When it's equal to the first number of the range" - {60 "With tolerance" {61 checkAll(100, nonMinNorMaxValueDoubles) {...
FixedBigRationalTest.kt
Source:FixedBigRationalTest.kt
...8import hm.binkley.math.fixed.FixedBigRational.Companion.ZERO9import hm.binkley.math.fixed.FixedBigRational.Companion.valueOf10import hm.binkley.math.floating.FloatingBigRational11import hm.binkley.math.rangeTo12import io.kotest.assertions.throwables.shouldThrow13import io.kotest.matchers.booleans.shouldBeFalse14import io.kotest.matchers.shouldBe15import io.kotest.matchers.shouldNotBe16import org.junit.jupiter.api.Nested17import org.junit.jupiter.api.Test18/**19 * NB -- the tests use a mixture of constructors while testing functionality.20 * This is intentional, and raises coverage.21 */22@Suppress("RedundantInnerClassModifier")23internal class FixedBigRationalTest {24 @Test25 fun `should not divide by 0 when constructing`() {26 shouldThrow<ArithmeticException> {27 (1 over 0)28 }29 }30 @Nested31 inner class ProgressionTests {32 @Test33 fun `should equate`() {...
CylinderTest.kt
Source:CylinderTest.kt
2import io.github.ocirne.ray.challenge.math.equalsDelta3import io.github.ocirne.ray.challenge.raysphere.Ray4import io.github.ocirne.ray.challenge.shapes.Cylinder5import io.github.ocirne.ray.challenge.tuples.*6import io.kotest.matchers.collections.beEmpty7import io.kotest.matchers.doubles.beNegativeInfinity8import io.kotest.matchers.doubles.bePositiveInfinity9import io.kotest.matchers.should10import io.kotest.matchers.shouldBe11import org.junit.jupiter.api.Test12import org.junit.jupiter.api.TestInstance13import org.junit.jupiter.params.ParameterizedTest14import org.junit.jupiter.params.provider.MethodSource15@TestInstance(TestInstance.Lifecycle.PER_CLASS)16internal class CylinderTest {17 data class ExampleRayMisses(val origin: Point, val direction: Vector)18 fun examplesRayMisses() = listOf(19 ExampleRayMisses(point(1, 0, 0), vector(0, 1, 0)),20 ExampleRayMisses(point(0, 0, 0), vector(0, 1, 0)),21 ExampleRayMisses(point(0, 0, -5), vector(1, 1, 1))22 )23 @ParameterizedTest24 @MethodSource("examplesRayMisses")...
DoubleExactlyTest.kt
Source:DoubleExactlyTest.kt
1package com.sksamuel.kotest.matchers.doubles2import io.kotest.assertions.throwables.shouldThrow3import io.kotest.core.spec.style.FreeSpec4import io.kotest.matchers.doubles.exactly5import io.kotest.matchers.doubles.shouldBeExactly6import io.kotest.matchers.doubles.shouldNotBeExactly7import io.kotest.matchers.shouldBe8import io.kotest.matchers.shouldNotBe9import io.kotest.property.checkAll10class DoubleExactlyTest : FreeSpec() {11 init {12 "for every numeric Double" - {13 "Should be exactly itself" {14 checkAll(100, numericDoubles) {15 it shouldExactlyMatch it16 }17 }18 "Should not be exactly" - {19 "Any number smaller than itself" {20 checkAll(100, nonMinNorMaxValueDoubles) {21 it shouldNotMatchExactly it.slightlySmaller()22 }23 }...
DoubleToleranceTest.kt
Source:DoubleToleranceTest.kt
1package com.sksamuel.kotest.matchers.doubles2import io.kotest.assertions.throwables.shouldThrow3import io.kotest.assertions.throwables.shouldThrowAny4import io.kotest.core.spec.style.FunSpec5import io.kotest.matchers.doubles.percent6import io.kotest.matchers.doubles.plusOrMinus7import io.kotest.matchers.doubles.shouldBeWithinPercentageOf8import io.kotest.matchers.shouldBe9import io.kotest.matchers.shouldNotBe10import io.kotest.property.Arb11import io.kotest.property.arbitrary.bind12import io.kotest.property.arbitrary.double13import io.kotest.property.arbitrary.numericDouble14import io.kotest.property.checkAll15class DoubleToleranceTest : FunSpec({16 test("double with tolerance should include tolerance in error message") {17 shouldThrowAny {18 1.0 shouldBe (1.5 plusOrMinus 0.4)19 }.message shouldBe "1.0 should be equal to 1.5 within tolerance of 0.4 (lowest acceptable value is 1.1; highest acceptable value is 1.9)"20 }21 test("infinite double with finite tolerance should equal the same infinite double") {22 checkAll(Arb.numericDouble(min = 0.0)) { eps ->23 Double.NEGATIVE_INFINITY shouldBe (Double.NEGATIVE_INFINITY plusOrMinus eps)24 Double.POSITIVE_INFINITY shouldBe (Double.POSITIVE_INFINITY plusOrMinus eps)25 }26 }27 test("Allow for percentage tolerance") {28 1.5 shouldBe (1.0 plusOrMinus 50.percent)29 1.5 shouldNotBe (2.0 plusOrMinus 10.percent)30 }31 context("Percentage") {32 test("Match equal numbers") {33 Arb.bind(Arb.double(), Arb.double(0.0, 5.0)) { value, percentage ->34 value.shouldBeWithinPercentageOf(value, percentage)35 }36 }37 test("Refuse negative percentage") {38 shouldThrow<IllegalArgumentException> {39 1.0.shouldBeWithinPercentageOf(1.0, -0.1)40 }41 }42 test("Match close enough numbers") {43 Arb.bind(Arb.double(), Arb.double(0.0, 5.0)) { value, percentage ->44 value.shouldBeWithinPercentageOf((value - value.times(percentage / 100)), percentage)45 value.shouldBeWithinPercentageOf((value + value.times(percentage / 100)), percentage)46 }47 }48 }49})...
DoubleExtensionsSpec.kt
Source:DoubleExtensionsSpec.kt
1package test.geometry2import io.kotest.core.spec.style.FunSpec3import io.kotest.matchers.shouldBe4import io.kotest.matchers.shouldNotBe5import krater.geometry.near6import krater.geometry.nearHash7class DoubleExtensionsSpec : FunSpec({8 test("Comparing near double values") {9 1.000005.near(1.0).shouldBe(true)10 1.000011.near(1.0).shouldBe(false)11 0.999995.near(1.0).shouldBe(true)12 1.999995.near(2.0).shouldBe(true)13 (-3.000009).near(-3.0).shouldBe(true)14 4.499999.near(4.5).shouldBe(true)15 }16 test("Near doubles should hash to same value") {17 // This is tricky - things that will be considered equal must hash18 // to the same value. Things that are not equal *may* hash to the19 // same value. And we want things that are obviously different to20 // hash differently.21 // These are within tolerance22 1.0.nearHash().shouldBe(1.000009.nearHash())23 1.0.nearHash().shouldBe(0.999999.nearHash())24 // Definitely outside tolerance (some values closer may still hash the same)25 1.0.nearHash().shouldNotBe(1.0001.nearHash())26 1.0.nearHash().shouldNotBe(1.00006.nearHash())27 1.0.nearHash().shouldNotBe(0.0009.nearHash())28 1.0.nearHash().shouldNotBe(0.99994.nearHash())29 // Within tolerance30 (-1.0).nearHash().shouldBe((-1.000009).nearHash())31 (-1.0).nearHash().shouldBe((-0.999999).nearHash())32 // Outside tolerance33 (-1.0).nearHash().shouldNotBe((-1.0001).nearHash())34 (-1.0).nearHash().shouldNotBe((-1.00006).nearHash())35 (-1.0).nearHash().shouldNotBe((-0.0009).nearHash())36 (-1.0).nearHash().shouldNotBe((-0.99994).nearHash())37 }38 test("Infinities should be handled") {39 Double.POSITIVE_INFINITY.near(Double.POSITIVE_INFINITY).shouldBe(true)40 Double.NEGATIVE_INFINITY.near(Double.NEGATIVE_INFINITY).shouldBe(true)41 }42})
BmiEnglishUnitsTest.kt
Source:BmiEnglishUnitsTest.kt
1package pl.mprzymus.bmi.bmi_count2import io.kotest.assertions.throwables.shouldThrow3import io.kotest.core.spec.style.FunSpec4import io.kotest.matchers.doubles.plusOrMinus5import io.kotest.matchers.shouldBe6class BmiEnglishUnitsTest : FunSpec({7 val tested = BmiEnglishUnits()8 test("should count BMI properly with good input") {9 tested.countBmi(85.0, 200.0) shouldBe (19.55 plusOrMinus 0.1)10 }11 test("BMI should be 0 when weight is 0") {12 tested.countBmi(180.0, 0.0) shouldBe 0.013 }14 test("should return infinity when height is 0") {15 tested.countBmi(0.0, 70.0) shouldBe Double.POSITIVE_INFINITY16 }17 test("should throw when get negative height") {18 shouldThrow <IllegalArgumentException> { tested.countBmi(-1.0, 10.0) }19 }20})...
BmiMetricTest.kt
Source:BmiMetricTest.kt
1package pl.mprzymus.bmi.bmi_count2import io.kotest.assertions.throwables.shouldThrow3import io.kotest.core.spec.style.FunSpec4import io.kotest.matchers.doubles.plusOrMinus5import io.kotest.matchers.shouldBe6class BmiMetricTest : FunSpec({7 val tested = BmiMetric()8 test("should count BMI properly with good input") {9 tested.countBmi(180.0, 70.0) shouldBe (21.55 plusOrMinus 0.1)10 }11 test("BMI should be 0 when weight is 0") {12 tested.countBmi(180.0, 0.0) shouldBe 0.013 }14 test("should return infinity when height is 0") {15 tested.countBmi(0.0, 70.0) shouldBe Double.POSITIVE_INFINITY16 }17 test("should throw when get negative height") {18 shouldThrow <IllegalArgumentException> { tested.countBmi(-1.0, 10.0) }19 }20})...
test
Using AI Code Generation
1 import io.kotest.matchers.doubles.Infinity2 import io.kotest.matchers.doubles.isFinite3 import io.kotest.matchers.doubles.isInfinite4 import io.kotest.matchers.doubles.isNaN5 import io.kotest.matchers.doubles.shouldBeFinite6 import io.kotest.matchers.doubles.shouldBeInfinite7 import io.kotest.matchers.doubles.shouldBeNaN8 import io.kotest.matchers.floats.Infinity9 import io.kotest.matchers.floats.isFinite10 import io.kotest.matchers.floats.isInfinite11 import io.kotest.matchers.floats.isNaN12 import io.kotest.matchers.floats.shouldBeFinite13 import io.kotest.matchers.floats.shouldBeInfinite14 import io.kotest.matchers.floats.shouldBeNaN15 import io.kotest.matchers.longs.Infinity16 import io.kotest.matchers.longs.isFinite17 import io.kotest.matchers.longs.isInfinite18 import io.kotest.matchers.longs.isNaN19 import io.kotest.matchers.longs.shouldBeFinite20 import io.kotest.matchers.longs.shouldBeInfinite21 import io.kotest.matchers.longs.shouldBeNaN22 import io.kotest.matchers.shorts.Infinity23 import io.kotest.matchers.shorts.isFinite24 import io.kotest.matchers.shorts.isInfinite25 import io.kotest.matchers.shorts.isNaN26 import io.kotest.matchers.shorts.shouldBeFinite27 import io.kotest.matchers.shorts.shouldBeInfinite28 import io.kotest.matchers.shorts.shouldBeNaN29 import io.kotest.matchers.ints.Infinity30 import io.kotest.matchers.ints.isFinite31 import io.kotest.matchers
test
Using AI Code Generation
1x should beInfinity()2x should beNaN()3x should beNegativeInfinity()4x should bePositiveInfinity()5x should beCloseTo( 2.0 , 1.0 )6x should beFinite()7x should beInfinite()8x should beNaN()9x should beNegative()10x should beNegativeInfinity()11x shouldNot beCloseTo( 2.0 , 1.0 )12x shouldNot beFinite()13x shouldNot beInfinite()14x shouldNot beNaN()
test
Using AI Code Generation
1double d = 1.0 / 0.0;2io.kotest.matchers.doubles.Infinity.shouldBeInfinity(d);3double d = 0.0 / 0.0;4io.kotest.matchers.doubles.NaN.shouldBeNaN(d);5double d = -1.0 / 0.0;6io.kotest.matchers.doubles.NegativeInfinity.shouldBeNegativeInfinity(d);7double d = 1.0 / 0.0;8io.kotest.matchers.doubles.PositiveInfinity.shouldBePositiveInfinity(d);9double d = 3.0;10io.kotest.matchers.doubles.shouldBeBetween(1.0, 4.0).test(d);11double d = 3.0;12io.kotest.matchers.doubles.shouldBeCloseTo(3.01, 0.1).test(d);13double d = 3.0;14io.kotest.matchers.doubles.shouldBeExactly(3.01).test(d);15double d = 3.0;16io.kotest.matchers.doubles.shouldBeGreaterThan(2.0).test(d);17double d = 3.0;18io.kotest.matchers.doubles.shouldBeGreaterThanOrEqual(3.0).test(d);19double d = 3.0;20io.kotest.matchers.doubles.shouldBeLessThan(4.0).test(d);
test
Using AI Code Generation
1import io.kotest.matchers.doubles.*2a.shouldBePositiveInfinity()3a.shouldBeInfinity()4a.shouldBeGreaterThan(0.0)5a.shouldBeLessThan(0.0)6a.shouldBeGreaterThanOrEqualTo(0.0)7a.shouldBeLessThanOrEqualTo(0.0)8a.shouldBeNaN()9a.shouldBeZero()10a.shouldBeFinite()11a.shouldBeInfinite()12a.shouldBeNegativeInfinity()13a.shouldBePositiveInfinity()14a.shouldBeInfinity()15a.shouldBeGreaterThan(0.0)16a.shouldBeLessThan(0.0)17a.shouldBeGreaterThanOrEqualTo(0.0)18a.shouldBeLessThanOrEqualTo(0.0)19a.shouldBeNaN()20a.shouldBeZero()21a.shouldBeFinite()22a.shouldBeInfinite()23a.shouldBeNegativeInfinity()24a.shouldBePositiveInfinity()25a.shouldBeInfinity()26a.shouldBeGreaterThan(0.0)27a.shouldBeLessThan(0.0)28a.shouldBeGreaterThanOrEqualTo(0.0)29a.shouldBeLessThanOrEqualTo(0.0)30a.shouldBeNaN()31a.shouldBeZero()32a.shouldBeFinite()33a.shouldBeInfinite()34a.shouldBeNegativeInfinity()35a.shouldBePositiveInfinity()36a.shouldBeInfinity()37a.shouldBeGreaterThan(0.0)38a.shouldBeLessThan(0.0)39a.shouldBeGreaterThanOrEqualTo(0.0)40a.shouldBeLessThanOrEqualTo(0.0)41a.shouldBeNaN()42a.shouldBeZero()43a.shouldBeFinite()44a.shouldBeInfinite()45a.shouldBeNegativeInfinity()46a.shouldBePositiveInfinity()47a.shouldBeInfinity()48a.shouldBeGreaterThan(0.0)49a.shouldBeLessThan(0.0)50a.shouldBeGreaterThanOrEqualTo(0.0)51a.shouldBeLessThanOrEqualTo(0.0)52a.shouldBeNaN()53a.shouldBeZero()54a.shouldBeFinite()55a.shouldBeInfinite()56a.shouldBeNegativeInfinity()57a.shouldBePositiveInfinity()58a.shouldBeInfinity()59a.shouldBeGreaterThan(0.0)60a.shouldBeLessThan(0.0)61a.shouldBeGreaterThanOrEqualTo(0.0)62a.shouldBeLessThanOrEqualTo(0.0)63a.shouldBeNaN()64a.shouldBeZero()65a.shouldBeFinite()66a.shouldBeInfinite()67a.shouldBeNegativeInfinity()68a.shouldBePositiveInfinity()69a.shouldBeInfinity()
test
Using AI Code Generation
1class InfinityTest {2fun `infinity should be infinity`() {3}4fun `infinity should not be negative infinity`() {5}6fun `infinity should not be positive infinity`() {7}8fun `negative infinity should not be infinity`() {9}10fun `negative infinity should be negative infinity`() {11}12fun `negative infinity should not be positive infinity`() {13}14fun `positive infinity should not be infinity`() {15}16fun `positive infinity should not be negative infinity`() {17}18fun `positive infinity should be positive infinity`() {19}20}21class NaNTest {22fun `nan should be nan`() {23}24fun `nan should not be negative infinity`() {25}26fun `nan should not be positive infinity`() {27}28fun `negative infinity should not be nan`() {29}30fun `positive infinity should not be nan`() {31}32}33class NegativeInfinityTest {34fun `negative infinity should not be infinity`() {35}36fun `negative infinity should be negative infinity`() {37}38fun `negative infinity should not be positive infinity`() {39}40fun `infinity should not be negative infinity`() {41}42fun `positive infinity should not be negative infinity`() {43}44fun `nan should not be negative infinity`() {45}46}47class PositiveInfinityTest {
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!