uom/si/
linear_power_density.rs1quantity! {
4 quantity: LinearPowerDensity; "linear power density";
6 dimension: ISQ<
8 P1, P1, N3, Z0, Z0, Z0, Z0>; units {
16 @watt_per_meter: prefix!(none); "W/m", "watt per meter", "watts per meter";
17 @watt_per_centimeter: prefix!(none) / prefix!(centi); "W/cm", "watt per centimeter",
18 "watts per centimeter";
19 @watt_per_millimeter: prefix!(none) / prefix!(milli); "W/mm", "watt per millimeter",
20 "watts per millimeter";
21 }
22}
23
24#[cfg(test)]
25mod tests {
26 storage_types! {
27 use crate::num::One;
28 use crate::si::power as p;
29 use crate::si::quantities::*;
30 use crate::si::linear_power_density as lpd;
31 use crate::si::length as l;
32 use crate::tests::Test;
33
34 #[test]
35 fn check_dimension() {
36 let _: LinearPowerDensity<V> = Power::new::<p::watt>(V::one())
37 / Length::new::<l::meter>(V::one());
38 }
39
40 #[test]
41 fn check_units() {
42 test::<p::watt, l::meter, lpd::watt_per_meter>();
43 test::<p::watt, l::centimeter, lpd::watt_per_centimeter>();
44 test::<p::watt, l::millimeter, lpd::watt_per_millimeter>();
45
46 fn test<P: p::Conversion<V>, L: l::Conversion<V>, LPD: lpd::Conversion<V>>() {
47 Test::assert_approx_eq(&LinearPowerDensity::new::<LPD>(V::one()),
48 &(Power::new::<P>(V::one()) / Length::new::<L>(V::one())));
49 }
50 }
51 }
52}