# How to use beWithinPercentageOf method of io.kotest.matchers.floats.matchers class

Best Kotest code snippet using io.kotest.matchers.floats.matchers.beWithinPercentageOf

matchers.kt

Source:matchers.kt

`...65 *66 */67fun Float.shouldBeWithinPercentageOf(other: Float, percentage: Double) {68 require(percentage > 0.0) { "Percentage must be > 0.0" }69 this should beWithinPercentageOf(other, percentage)70}71/**72 * Verifies that this float is NOT within [percentage]% of [other]73 *74 * 90.0.shouldNotBeWithinPercentageOf(100.0, 10.0) // Fail75 * 50.0.shouldNotBeWithinPercentageOf(100.0, 50.0) // Fail76 * 30.0.shouldNotBeWithinPercentageOf(100.0, 10.0) // Passes77 *78 */79fun Float.shouldNotBeWithinPercentageOf(other: Float, percentage: Double) {80 require(percentage > 0.0) { "Percentage must be > 0.0" }81 this shouldNot beWithinPercentageOf(other, percentage)82}83fun beWithinPercentageOf(other: Float, percentage: Double) = object : Matcher<Float> {84 private val tolerance = other.times(percentage / 100)85 private val range = (other - tolerance)..(other + tolerance)86 override fun test(value: Float) = MatcherResult(87 value in range,88 { "\$value should be in \$range" },89 { "\$value should not be in \$range" })90}...`

beWithinPercentageOf

Using AI Code Generation

`1println("0.1f should be within 10% of 0.2f: \${0.1f should beWithinPercentageOf(0.2f, 10)}")2println("0.1f should not be within 10% of 0.3f: \${0.1f shouldNot beWithinPercentageOf(0.3f, 10)}")3println("0.1f should be within 20% of 0.2f: \${0.1f should beWithinPercentageOf(0.2f, 20)}")4println("0.1f should not be within 20% of 0.3f: \${0.1f shouldNot beWithinPercentageOf(0.3f, 20)}")5println("0.1f should be within 10% of 0.3f: \${0.1f should beWithinPercentageOf(0.3f, 10)}")6println("0.1f should not be within 10% of 0.2f: \${0.1f shouldNot beWithinPercentageOf(0.2f, 10)}")7println("0.1f should be within 20% of 0.3f: \${0.1f should beWithinPercentageOf(0.3f, 20)}")8println("0.1f should not be within 20% of 0.2`

beWithinPercentageOf

Using AI Code Generation

`1actual shouldBe expected.plusOrMinus(0.1f)2actual shouldBe expected.plusOrMinus(0.1)3actual shouldBe expected.plusOrMinus(0.1)4actual shouldBe expected.plusOrMinus(0.1)5actual shouldBe expected.plusOrMinus(0.1)6actual shouldBe expected.plusOrMinus(0.1)7actual shouldBe expected.plusOrMinus(0.1)8actual shouldBe expected.plusOrMinus(0.1)9actual shouldBe expected.plusOrMinus(0.1)10actual shouldBe expected.plusOrMinus(0.1)`

beWithinPercentageOf

Using AI Code Generation

`1 actual shouldBe expected.plusOrMinus(0.1f)2 actual shouldBe expected.plusOrMinus(0.01f)3 actual shouldBe expected.plusOrMinus(0.001f)4 actual shouldBe expected.plusOrMinus(0.0001f)5 actual shouldBe expected.plusOrMinus(0.00001f)6 actual shouldBe expected.plusOrMinus(0.000001f)7 actual shouldBe expected.plusOrMinus(0.0000001f)8 actual shouldBe expected.plusOrMinus(0.00000001f)9 actual shouldBe expected.plusOrMinus(0.000000001f)10 actual shouldBe expected.plusOrMinus(0.0000000001f)11 actual shouldBe expected.plusOrMinus(0.00000000001f)12 actual shouldBe expected.plusOrMinus(0.000000000001f)13 actual shouldBe expected.plusOrMinus(0.0000000000001f)14 actual shouldBe expected.plusOrMinus(0.00000000000001f)15 actual shouldBe expected.plusOrMinus(0.000000000000001f)16 actual shouldBe expected.plusOrMinus(0.0000000000000001f)17 actual shouldBe expected.plusOrMinus(0.00000000000000001f)18 actual shouldBe expected.plusOrMinus(0.000000000000000001f)19 actual shouldBe expected.plusOrMinus(0.0000000000000000001f)20 actual shouldBe expected.plusOrMinus(0.00000000000000000001f)21 actual shouldBe expected.plusOrMinus(0.000000000000000000001f)22 actual shouldBe expected.plusOrMinus(0.0000000000000000000001f)23 actual shouldBe expected.plusOrMinus(0.00000000000000000000001f)24 actual shouldBe expected.plusOrMinus(0.000000000000000000000001f)25 actual shouldBe expected.plusOrMinus(0.0000000000000000000000001f)26 actual shouldBe expected.plusOrMinus(0.00000000000000000000000001f)27 actual shouldBe expected.plusOrMinus(0.000000000000000000000000001f)28 actual shouldBe expected.plusOrMinus(0.000000000000000000000000000`

beWithinPercentageOf

Using AI Code Generation

`1@DisplayName("Test for beWithinPercentageOf() method of io.kotest.matchers.floats.matchers class")2fun testBeWithinPercentageOf() {3result.shouldBeWithinPercentageOf(10.0f, 0.0f)4result.shouldBeWithinPercentageOf(10.0f, 0.1f)5result.shouldBeWithinPercentageOf(10.0f, 0.01f)6result.shouldBeWithinPercentageOf(10.0f, 0.001f)7result.shouldBeWithinPercentageOf(10.0f, 0.0001f)8result.shouldBeWithinPercentageOf(10.0f, 0.00001f)9result.shouldBeWithinPercentageOf(10.0f, 0.000001f)10result.shouldBeWithinPercentageOf(10.0f, 0.0000001f)11result.shouldBeWithinPercentageOf(10.0f, 0.00000001f)12result.shouldBeWithinPercentageOf(10.0f, 0.000000001f)13result.shouldBeWithinPercentageOf(10.0f, 0.0000000001f)14}15@DisplayName("Test for beWithinToleranceOf() method of io.kotest.matchers.floats.matchers class")16fun testBeWithinToleranceOf() {17result.shouldBeWithinToleranceOf(10.0f, 0.0f)18result.shouldBeWithinToleranceOf(10.0f, 0.1f)19result.shouldBeWithinToleranceOf(10.0f, 0.01f)20result.shouldBeWithinToleranceOf(10.0f, 0.001f)21result.shouldBeWithinToleranceOf(10.0f, 0.0001f)22result.shouldBeWithinToleranceOf(10.0f, 0.00001f)23result.shouldBeWithinToleranceOf(10.0f, 0.000001f)24result.shouldBeWithinToleranceOf(10.0f, 0.0000001f)25result.shouldBeWithinToleranceOf(10.0f, 0.00000001`

## Automation Testing Tutorials

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.

## LambdaTest Learning Hubs:

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

## Run Kotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

## Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!