Best Kotest code snippet using io.kotest.matchers.doubles.Negative.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) {...
IntersectionSpec.kt
Source:IntersectionSpec.kt
1package test.model2import io.kotest.core.spec.style.FunSpec3import io.kotest.data.forAll4import io.kotest.data.headers5import io.kotest.data.row6import io.kotest.data.table7import io.kotest.matchers.booleans.shouldBeFalse8import io.kotest.matchers.booleans.shouldBeTrue9import io.kotest.matchers.doubles.shouldBeGreaterThan10import io.kotest.matchers.doubles.shouldBeLessThan11import io.kotest.matchers.shouldBe12import krater.geometry.*13import krater.model.*14import krater.model.shapes.Plane15import krater.model.shapes.Sphere16import krater.model.shapes.Triangle17import kotlin.math.sqrt18class IntersectionSpec : FunSpec({19 val root2by2 = sqrt(2.0) / 2.020 val glassSphere = Sphere(material = Material(transparency = 1.0, refractiveIndex = 1.5))21 test("An intersection encapsulates t and object") {22 val s = Sphere()23 val i = Intersection(3.5, s)24 i.t.shouldBe(3.5)25 i.shape.shouldBe(s)26 }27 test("The hit when all intersections have positive t") {28 val s = Sphere()29 val i1 = Intersection(1.0, s)30 val i2 = Intersection(2.0, s)31 val xs = listOf(i1, i2)32 val i = xs.hit()33 i.shouldBe(i1)34 }35 test("The hit when some intersections have negative t") {36 val s = Sphere()37 val i1 = Intersection(-1.0, s)38 val i2 = Intersection(1.0, s)39 val xs = listOf(i1, i2)40 val i = xs.hit()41 i.shouldBe(i2)42 }43 test("The hit when all intersections have negative t") {44 val s = Sphere()45 val i1 = Intersection(-2.0, s)46 val i2 = Intersection(-1.0, s)47 val xs = listOf(i1, i2)48 val i = xs.hit()49 i.shouldBe(NO_INTERSECTION)50 }51 test("The hit is always the lowest non-negative intersection") {52 val s = Sphere()53 val i1 = Intersection(5.0, s)54 val i2 = Intersection(7.0, s)55 val i3 = Intersection(-3.0, s)56 val i4 = Intersection(2.0, s)57 val xs = listOf(i1, i2, i3, i4)58 val i = xs.hit()59 i.shouldBe(i4)60 }61 test("Pre-computing the state of an intersection") {62 val r = Ray(point(0, 0, -5), vector(0, 0, 1))63 val shape = Sphere()64 val i = Intersection(4.0, shape)65 val comps = PreparedComputation(i, r)66 comps.intersection.shouldBe(i)67 comps.point.shouldBe(point(0, 0, -1))68 comps.eyev.shouldBe(vector(0, 0, -1))69 comps.normalv.shouldBe(vector(0, 0, -1))70 }71 test("The hit, when an intersection occurs on the outside") {72 val r = Ray(point(0, 0, -5), vector(0, 0, 1))73 val shape = Sphere()74 val i = Intersection(4.0, shape)75 val comps = PreparedComputation(i, r)76 comps.inside.shouldBeFalse()77 }78 test("The hit, when an intersection occurs on the inside") {79 val r = Ray(point(0, 0, 0), vector(0, 0, 1))80 val shape = Sphere()81 val i = Intersection(1.0, shape)82 val comps = PreparedComputation(i, r)83 comps.point.shouldBe(point(0, 0, 1))84 comps.eyev.shouldBe(vector(0, 0, -1))85 comps.inside.shouldBeTrue()86 comps.normalv.shouldBe(vector(0, 0, -1))87 }88 test("Recomputing the reflection vector") {89 val shape = Plane()90 val r = Ray(point(0, 1, -1), vector(0, -root2by2, root2by2))91 val i = Intersection(sqrt(2.0), shape)92 val comps = PreparedComputation(i, r)93 comps.reflectv.shouldBe(vector(0, root2by2, root2by2))94 }95 test("Finding n1 and n2 at various intersections") {96 table(97 headers("index", "n1", "n2"),98 row(0, 1.0, 1.5),99 row(1, 1.5, 2.0),100 row(2, 2.0, 2.5),101 row(3, 2.5, 2.5),102 row(4, 2.5, 1.5),103 row(5, 1.5, 1.0),104 ).forAll { index, n1, n2 ->105 val a = Sphere(106 material = Material(transparency = 1.0, refractiveIndex = 1.5),107 transform = scaling(2, 2, 2)108 )109 val b = Sphere(110 material = Material(transparency = 1.0, refractiveIndex = 2.0),111 transform = translation(0, 0, -0.25)112 )113 val c = Sphere(114 material = Material(transparency = 1.0, refractiveIndex = 2.5),115 transform = translation(0, 0, 0.25)116 )117 val r = Ray(point(0, 0, -4), vector(0, 0, 1))118 val xs = listOf(119 Intersection(2.0, a),120 Intersection(2.75, b),121 Intersection(3.25, c),122 Intersection(4.75, b),123 Intersection(5.25, c),124 Intersection(6.0, a),125 )126 val comps = PreparedComputation(xs[index], r, xs)127 comps.n1.shouldBe(n1)128 comps.n2.shouldBe(n2)129 }130 }131 test("The under point is offset below the surface") {132 val r = Ray(point(0, 0, -5), vector(0, 0, 1))133 val shape = Sphere(material = Material(transparency = 1.0, refractiveIndex = 1.5), transform = translation(0, 0, 1))134 val i = Intersection(5.0, shape)135 val xs = listOf(i)136 val comps = PreparedComputation(i, r, xs)137 comps.underPoint.z.shouldBeGreaterThan(EPSILON / 2)138 comps.point.z.shouldBeLessThan(comps.underPoint.z)139 }140 test("The Schlick approximation under total internal reflection") {141 val shape = glassSphere142 val r = Ray(point(0, 0, root2by2), vector(0, 1, 0))143 val xs = listOf(Intersection(-root2by2, shape), Intersection(root2by2, shape))144 val comps = PreparedComputation(xs[1], r, xs)145 comps.schlickReflectance.shouldBe(1.0)146 }147 test("The Schlick approximation with a perpendicular viewing angle") {148 val shape = glassSphere149 val r = Ray(point(0, 0, 0), vector(0, 1, 0))150 val xs = listOf(Intersection(-1.0, shape), Intersection(1.0, shape))151 val comps = PreparedComputation(xs[1], r, xs)152 comps.schlickReflectance.near(0.04)shouldBe(true)153 }154 test("The Schlick approximation with small angle and n2 > n1") {155 val shape = glassSphere156 val r = Ray(point(0, 0.99, -2), vector(0, 0, 1))157 val xs = listOf(Intersection(1.8589, shape))158 val comps = PreparedComputation(xs[0], r, xs)159 comps.schlickReflectance.near(0.48873).shouldBe(true)160 }161 test("An intersection can encapsulate u and v") {162 val s = Triangle(point(0, 1, 0), point(-1, 0, 0), point(1, 0, 0))163 val i = Intersection(3.5, s, u = 0.2, v = 0.4)164 i.u.shouldBe(0.2)165 i.v.shouldBe(0.4)166 }167})...
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})...
BLEDistanceUnscentedKalmanFilterTest.kt
Source:BLEDistanceUnscentedKalmanFilterTest.kt
1package uk.nhs.riskscore.internal2import io.kotest.core.spec.style.StringSpec3import io.kotest.matchers.booleans.shouldBeTrue4import io.kotest.matchers.doubles.shouldBeGreaterThanOrEqual5import io.kotest.matchers.ints.shouldBeExactly6import io.kotest.property.arbitrary.orNull7import io.kotest.property.checkAll8import uk.nhs.riskscore.internal.kotest.bleDistanceUnscentedKalmanFilter9import uk.nhs.riskscore.internal.kotest.nonEmptyList10import uk.nhs.riskscore.internal.kotest.smallNumericDoubles11import uk.nhs.riskscore.internal.kotest.smallPositiveDoubles12internal class BLEDistanceUnscentedKalmanFilterTest : StringSpec({13 "transition function is non-negative" {14 checkAll(15 smallNumericDoubles,16 smallNumericDoubles,17 bleDistanceUnscentedKalmanFilter) { state, noise, filter ->18 val result = filter.transitionFunction(state, noise)19 result shouldBeGreaterThanOrEqual 0.020 }21 }22 "smooth function returns the same number of elements as the input" {23 checkAll(24 100,25 bleDistanceUnscentedKalmanFilter,...
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})...
SquareTest.kt
Source:SquareTest.kt
1package com.sksamuel.kotest.example.allure2import io.kotest.core.spec.style.FunSpec3import io.kotest.matchers.doubles.shouldBeExactly4import kotlin.math.pow5class SquareTest : FunSpec({6 test("positive square") {7 2.0.pow(2.0) shouldBeExactly 4.08 4.0.pow(2.0) shouldBeExactly 16.09 9.0.pow(2.0) shouldBeExactly 81.010 }11 test("negative square") {12 (-2.0).pow(2.0) shouldBeExactly 4.013 (-4.0).pow(2.0) shouldBeExactly 16.014 (-9.0).pow(2.0) shouldBeExactly 81.015 }16})...
test
Using AI Code Generation
1import io.kotest.matchers.doubles.Negative2import io.kotest.matchers.doubles.Positive3import io.kotest.matchers.doubles.shouldBeGreaterThan4import io.kotest.matchers.doubles.shouldBeGreaterThanOrEqual5import io.kotest.matchers.doubles.shouldBeLessThan6import io.kotest.matchers.doubles.shouldBeLessThanOrEqual7import io.kotest.matchers.doubles.shouldBeNegative8import io.kotest.matchers.doubles.shouldBePositive9import io.kotest.matchers.doubles.shouldBeZero10import io.kotest.matchers.doubles.shouldBeZeroOrNegative11import io.kotest.matchers.doubles.shouldBeZeroOrPositive12import io.kotest.matchers.doubles.shouldBeZeroOrNegative13import io.kotest.matchers.doubles.shouldBeZeroOrPositive14import io.kotest.matchers.doubles.shouldNotBeNegative15import io.kotest.matchers.doubles.shouldNotBe
test
Using AI Code Generation
1class NegativeTest : DescribeSpec({2})3context("test context") {4}5It("test case") {6}7config(TestConfig(invocations = 5))8should("test case") {9}10config(TestConfig(invocations = 5))11should() method is used to define the test
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!!