1quantity! {
4 quantity: MagneticFlux; "magnetic flux";
6 dimension: ISQ<
8 P2, P1, N2, N1, Z0, Z0, Z0>; units {
16 @yottaweber: prefix!(yotta); "YWb", "yottaweber", "yottawebers";
17 @zettaweber: prefix!(zetta); "ZWb", "zettaweber", "zettawebers";
18 @exaweber: prefix!(exa); "EWb", "exaweber", "exawebers";
19 @petaweber: prefix!(peta); "PWb", "petaweber", "petawebers";
20 @teraweber: prefix!(tera); "TWb", "teraweber", "terawebers";
21 @gigaweber: prefix!(giga); "GWb", "gigaweber", "gigawebers";
22 @megaweber: prefix!(mega); "MWb", "megaweber", "megawebers";
23 @kiloweber: prefix!(kilo); "kWb", "kiloweber", "kilowebers";
24 @hectoweber: prefix!(hecto); "hWb", "hectoweber", "hectowebers";
25 @decaweber: prefix!(deca); "daWb", "decaweber", "decawebers";
26 @weber: prefix!(none); "Wb", "weber", "webers";
28 @deciweber: prefix!(deci); "dWb", "deciweber", "deciwebers";
29 @centiweber: prefix!(centi); "cWb", "centiweber", "centiwebers";
30 @milliweber: prefix!(milli); "mWb", "milliweber", "milliwebers";
31 @microweber: prefix!(micro); "µWb", "microweber", "microwebers";
32 @nanoweber: prefix!(nano); "nWb", "nanoweber", "nanowebers";
33 @picoweber: prefix!(pico); "pWb", "picoweber", "picowebers";
34 @femtoweber: prefix!(femto); "fWb", "femtoweber", "femtowebers";
35 @attoweber: prefix!(atto); "aWb", "attoweber", "attowebers";
36 @zeptoweber: prefix!(zepto); "zWb", "zeptoweber", "zeptowebers";
37 @yoctoweber: prefix!(yocto); "yWb", "yoctoweber", "yoctowebers";
38
39 @maxwell: 1.0_E-8; "Mx", "maxwell", "maxwells";
40 }
41}
42
43#[cfg(test)]
44mod tests {
45 storage_types! {
46 use crate::num::One;
47 use crate::si::electric_potential as v;
48 use crate::si::magnetic_flux as f;
49 use crate::si::quantities::*;
50 use crate::si::time as t;
51 use crate::tests::Test;
52
53 #[test]
54 fn check_dimension() {
55 let _: MagneticFlux<V> = ElectricPotential::new::<v::volt>(V::one())
56 * Time::new::<t::second>(V::one());
57 }
58
59 #[test]
60 fn check_units() {
61 test::<v::yottavolt, f::yottaweber>();
62 test::<v::zettavolt, f::zettaweber>();
63 test::<v::exavolt, f::exaweber>();
64 test::<v::petavolt, f::petaweber>();
65 test::<v::teravolt, f::teraweber>();
66 test::<v::gigavolt, f::gigaweber>();
67 test::<v::megavolt, f::megaweber>();
68 test::<v::kilovolt, f::kiloweber>();
69 test::<v::hectovolt, f::hectoweber>();
70 test::<v::decavolt, f::decaweber>();
71 test::<v::volt, f::weber>();
72 test::<v::decivolt, f::deciweber>();
73 test::<v::centivolt, f::centiweber>();
74 test::<v::millivolt, f::milliweber>();
75 test::<v::microvolt, f::microweber>();
76 test::<v::nanovolt, f::nanoweber>();
77 test::<v::picovolt, f::picoweber>();
78 test::<v::femtovolt, f::femtoweber>();
79 test::<v::attovolt, f::attoweber>();
80 test::<v::zeptovolt, f::zeptoweber>();
81 test::<v::yoctovolt, f::yoctoweber>();
82
83 fn test<U: v::Conversion<V>, F: f::Conversion<V>>() {
84 Test::assert_approx_eq(&MagneticFlux::new::<F>(V::one()),
85 &(ElectricPotential::new::<U>(V::one())
86 * Time::new::<t::second>(V::one())));
87 }
88 }
89 }
90}