uom/si/
electrical_mobility.rs1quantity! {
4 quantity: ElectricalMobility; "electrical mobility";
6 dimension: ISQ<
9 Z0, N1, P2, P1, Z0, Z0, Z0>; units {
17 @square_meter_per_volt_second: prefix!(none); "m²/(V · s)", "square meter per volt second",
18 "square meters per volt second";
19 @square_centimeter_per_volt_second: prefix!(centi) * prefix!(centi); "cm²/(V · s)",
20 "square centimeter per volt second", "square centimeters per volt second";
21 }
22}
23
24#[cfg(test)]
25mod test {
26 storage_types! {
27 use crate::num::One;
28 use crate::si::electrical_mobility as em;
29 use crate::si::electric_potential as ep;
30 use crate::si::time as t;
31 use crate::si::length as l;
32 use crate::si::quantities::*;
33 use crate::tests::Test;
34
35 #[test]
36 fn check_dimension() {
37 let _: ElectricalMobility<V> = Length::new::<l::meter>(V::one())
38 * Length::new::<l::meter>(V::one())
39 / Time::new::<t::second>(V::one())
40 / ElectricPotential::new::<ep::volt>(V::one());
41 }
42
43 #[test]
44 fn check_units() {
45 test::<l::meter, ep::volt, t::second, em::square_meter_per_volt_second>();
46 test::<l::centimeter, ep::volt, t::second,em::square_centimeter_per_volt_second>();
47
48 fn test<L: l::Conversion<V>, EP: ep::Conversion<V>, T: t::Conversion<V>,
49 EM: em::Conversion<V>>()
50 {
51 Test::assert_approx_eq(&ElectricalMobility::new::<EM>(V::one()),
52 &(Length::new::<L>(V::one())
53 * Length::new::<L>(V::one())
54 / ElectricPotential::new::<EP>(V::one())
55 / Time::new::<T>(V::one())));
56 }
57 }
58 }
59}