uom/si/
electric_permittivity.rs

1//! Electric permittivity (base unit farad per meter, m⁻³ · kg⁻¹ · s⁴ · A²).
2
3quantity! {
4    /// Electric permittivity (base unit farad per meter, m⁻³ · kg⁻¹ · s⁴ · A²).
5    quantity: ElectricPermittivity; "electric permittivity";
6    /// Dimension of electric permittivity, L⁻³M⁻¹T⁴I² (base unit farad per meter,
7    /// m⁻³ · kg⁻¹ · s⁴ · A²).
8    dimension: ISQ<
9        N3,     // length
10        N1,     // mass
11        P4,     // time
12        P2,     // electric current
13        Z0,     // thermodynamic temperature
14        Z0,     // amount of substance
15        Z0>;    // luminous intensity
16    units {
17        @farad_per_meter: prefix!(none); "F/m", "farad per meter", "farads per meter";
18        @vacuum_electric_permittivity: 8.854_187_812_8_E-12; "ε₀", "vacuum electric permittivity",
19            "vacuum electric permittivity";
20    }
21}
22
23#[cfg(test)]
24mod test {
25    storage_types! {
26        use crate::num::One;
27        use crate::si::capacitance as c;
28        use crate::si::electric_permittivity as ep;
29        use crate::si::length as l;
30        use crate::si::quantities::*;
31        use crate::tests::Test;
32
33        #[test]
34        fn check_dimension() {
35            let _: ElectricPermittivity<V> = Capacitance::new::<c::farad>(V::one())
36                / Length::new::<l::meter>(V::one());
37        }
38
39        #[test]
40        fn check_units() {
41            test::<ep::farad_per_meter, c::farad, l::meter>();
42
43            fn test<EP: ep::Conversion<V>, C: c::Conversion<V>, L: l::Conversion<V>>() {
44                Test::assert_approx_eq(&ElectricPermittivity::new::<EP>(V::one()),
45                    &(Capacitance::new::<C>(V::one())
46                        / Length::new::<L>(V::one())));
47            }
48        }
49    }
50}