cuoolcumber
Cargo Check, Format, Fix and Test / cargo CI (push) Has been cancelled
Details
Cargo Check, Format, Fix and Test / cargo CI (push) Has been cancelled
Details
This commit is contained in:
parent
03a972366b
commit
d8d6bb9a67
|
@ -416,6 +416,7 @@ version = "0.1.0"
|
|||
dependencies = [
|
||||
"cucumber",
|
||||
"futures",
|
||||
"rand",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
|
@ -561,6 +562,17 @@ dependencies = [
|
|||
"slab",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"wasi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gherkin"
|
||||
version = "0.14.0"
|
||||
|
@ -949,6 +961,12 @@ dependencies = [
|
|||
"plotters-backend",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.76"
|
||||
|
@ -967,6 +985,36 @@ dependencies = [
|
|||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"rand_chacha",
|
||||
"rand_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_chacha"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
||||
dependencies = [
|
||||
"ppv-lite86",
|
||||
"rand_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_core"
|
||||
version = "0.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rayon"
|
||||
version = "1.8.0"
|
||||
|
@ -1027,6 +1075,10 @@ name = "revsqrt"
|
|||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"criterion",
|
||||
"cucumber",
|
||||
"futures",
|
||||
"rand",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1347,6 +1399,12 @@ dependencies = [
|
|||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.11.0+wasi-snapshot-preview1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.89"
|
||||
|
|
|
@ -9,6 +9,7 @@ edition = "2021"
|
|||
futures = "0.3.30"
|
||||
cucumber = "0.20.2"
|
||||
tokio = { version = "1.10", features = ["macros", "rt-multi-thread", "time"] }
|
||||
rand = "0.8.5"
|
||||
|
||||
[[test]]
|
||||
name = "example" # this should be the same as the filename of your test target
|
||||
|
|
|
@ -5,6 +5,10 @@ edition = "2021"
|
|||
|
||||
[dev-dependencies]
|
||||
criterion = "0.5.1"
|
||||
futures = "0.3.30"
|
||||
cucumber = "0.20.2"
|
||||
tokio = { version = "1.10", features = ["macros", "rt-multi-thread", "time"] }
|
||||
rand = "0.8.5"
|
||||
|
||||
[[bench]]
|
||||
name = "rsqrt-bench"
|
||||
|
@ -17,3 +21,7 @@ path = "src/lib.rs"
|
|||
[[bin]]
|
||||
name = "revsqrt"
|
||||
path = "src/main.rs"
|
||||
|
||||
[[test]]
|
||||
name = "revsqrt"
|
||||
harness = false # allows Cucumber to print output instead of libtest
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
Feature: inverted square root feature
|
||||
|
||||
Scenario: If we calculate the inverted square root of a number using fast inverted square root, it's about the same as if we calculate it normally
|
||||
Given a number
|
||||
When We calculate the the inverted square root of a number using fast inverted square root
|
||||
Then The result is about the same as if we calculate it normally
|
|
@ -0,0 +1,36 @@
|
|||
use revsqrt::*;
|
||||
|
||||
use cucumber::{given, then, when, World};
|
||||
use rand;
|
||||
|
||||
#[derive(Debug, Default, World)]
|
||||
pub struct NumWorld {
|
||||
number: f32,
|
||||
result: f32,
|
||||
}
|
||||
|
||||
// is n about the same as m?
|
||||
fn about_same(n: f32, m: f32) -> bool {
|
||||
(n - m)*1000f32 < 1f32
|
||||
}
|
||||
|
||||
// Steps are defined with `given`, `when` and `then` attributes.
|
||||
#[given(regex = r"^a number$")]
|
||||
async fn hungry_cat(world: &mut NumWorld) {
|
||||
world.number = rand::random();
|
||||
}
|
||||
|
||||
#[when("We calculate the the inverted square root of a number using fast inverted square root")]
|
||||
async fn calc_fast_inv_sqrt(world: &mut NumWorld) {
|
||||
world.result = revsqrt::fast_inverse_sqrt(world.number);
|
||||
}
|
||||
|
||||
#[then("The result is about the same as if we calculate it normally")]
|
||||
async fn comp_result_with_normal(world: &mut NumWorld) {
|
||||
assert!(about_same(world.number, world.result));
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
futures::executor::block_on(NumWorld::run("tests/features/book/revsqrt.feature"));
|
||||
}
|
Loading…
Reference in New Issue