def test_bottom_resistor_by_ratio(self):
     assert_approx_equal(bottom_resistor_by_ratio(1000.0, 0.5), 1000.0)
     assert_approx_equal(bottom_resistor_by_ratio(200.0, 5 / 6.0), 1000.0)
     assert_equal(auto_format(bottom_resistor_by_ratio, 1000.0, 0.5),
                  "1000 Ω")
     assert_equal(auto_format(bottom_resistor_by_ratio, 400.0, 5 / 6.0),
                  "2.00 kΩ")
예제 #2
0
 def testAutoFormatTemperature(self):
     assert_equal(auto_format(normalize_temperature, "-200°C"), "73.1 °K")
     assert_equal(auto_format(normalize_temperature_celsius, "-200°C"),
                  "-200.00 °C")
     assert_equal(auto_format(normalize_temperature_celsius, "-111 °C"),
                  "-111.00 °C")
     assert_equal(auto_format(normalize_temperature_celsius, "0 °K"),
                  "-273.15 °C")
예제 #3
0
 def test_fahrenheit_to_celsius(self):
     assert_approx_equal(fahrenheit_to_celsius("11 °F"), -11.66666667)
     assert_approx_equal(fahrenheit_to_celsius(11.), -11.666666667)
     assert_approx_equal(fahrenheit_to_celsius("20 °F"), -6.66666667)
     assert_approx_equal(fahrenheit_to_celsius(20.), -6.666666667)
     self.assertEqual(auto_format(fahrenheit_to_celsius, "20 °F"),
                      "-6.67 °C")
예제 #4
0
 def test_capacitive_reactance(self):
     assert_approx_equal(capacitive_reactance("100 pF", "3.2 MHz"),
                         497.3592)
     assert_approx_equal(capacitive_reactance(100e-12, 3.2e6), 497.3592)
     assert_approx_equal(capacitive_reactance(100e-12, 3.2e6), 497.3592)
     assert_equal(auto_format(capacitive_reactance, "100 pF", "3.2 MHz"),
                  "497 Ω")
예제 #5
0
 def testNoiseDensity(self):
     assert_approx_equal(noiseDensity("1.0 mV", "100 Hz"), 1e-4)
     assert_approx_equal(noiseDensity(1e-3, 100), 1e-4)
     assert_equal(auto_format(noiseDensity, "1.0 mV", "100 Hz"), '100 µV/√Hz')
예제 #6
0
 def test_capacitor_charge(self):
     assert_approx_equal(capacitor_charge("1.5 F", "5.0 V"), 7.5)
     assert_approx_equal(capacitor_charge("1.5 F", "0.0 V"), 0.0)
     assert_equal(auto_format(capacitor_charge, "1.5 F", "5.0 V"), "7.50 C")
예제 #7
0
 def test_capacitor_charge(self):
     assert_approx_equal(capacitor_charge("1.5 F", "5.0 V"), 7.5)
     assert_approx_equal(capacitor_charge("1.5 F", "0.0 V"), 0.0)
     self.assertEqual(auto_format(capacitor_charge, "1.5 F", "5.0 V"), "7.50 C")
예제 #8
0
 def test_johnson_nyquist_noise_voltage(self):
     v = johnson_nyquist_noise_voltage("20 MΩ", "Δ10000 Hz", "20 °C")
     assert_equal(
         auto_format(johnson_nyquist_noise_voltage, "20 MΩ", "Δ10000 Hz",
                     "20 °C"), "56.9 µV")
     assert_approx_equal(v, 56.9025e-6, significant=5)
예제 #9
0
 def test_lumen_to_candela_by_apex_angle(self):
     v = lumen_to_candela_by_apex_angle("25 lm", "120°")
     assert_approx_equal(v, 7.9577471546, significant=5)
     self.assertEqual(
         auto_format(lumen_to_candela_by_apex_angle, "25 lm", "120°"),
         "7.96 cd")
예제 #10
0
 def test_inductive_reactance(self):
     assert_approx_equal(inductive_reactance("100 µH", "3.2 MHz"), 2010.619)
     assert_approx_equal(inductive_reactance(100e-6, 3.2e6), 2010.619)
     assert_equal(auto_format(inductive_reactance, "100 µH", "3.2 MHz"), "2.01 kΩ")
예제 #11
0
 def test_capacitive_reactance(self):
     assert_approx_equal(capacitive_reactance("100 pF", "3.2 MHz"), 497.3592)
     assert_approx_equal(capacitive_reactance(100e-12, 3.2e6), 497.3592)
     assert_approx_equal(capacitive_reactance(100e-12, 3.2e6), 497.3592)
     assert_equal(auto_format(capacitive_reactance, "100 pF", "3.2 MHz"), "497 Ω")
 def test_johnson_nyquist_noise_voltage(self):
     v = johnson_nyquist_noise_voltage("20 MΩ", "10000 ΔHz", "20 °C")
     assert_equal(auto_format(johnson_nyquist_noise_voltage, "20 MΩ", "10000 ΔHz", "20 °C"), "56.9 µV")
     assert_approx_equal(v, 56.9025e-6, significant=5)
 def test_johnson_nyquist_noise_current(self):
     v = johnson_nyquist_noise_current("20 MΩ", "10000 ΔHz", "20 °C")
     assert_approx_equal(v, 2.84512e-12, significant=5)
     assert_equal(auto_format(johnson_nyquist_noise_current, "20 MΩ", "10000 ΔHz", "20 °C"), "2.85 pA")
예제 #14
0
 def test_celsius_to_kelvin(self):
     assert_approx_equal(celsius_to_kelvin("-262.15 °C"), 11.)
     assert_approx_equal(celsius_to_kelvin(-262.15), 11.)
     assert_approx_equal(celsius_to_kelvin("26.85 °C"), 300.)
     assert_approx_equal(celsius_to_kelvin(26.85), 300.)
     self.assertEqual(auto_format(celsius_to_kelvin, "26.85 °C"), "300 K")
예제 #15
0
 def test_kelvin_to_celsius(self):
     assert_approx_equal(kelvin_to_celsius("11 K"), -262.15)
     assert_approx_equal(kelvin_to_celsius(11.), -262.15)
     assert_approx_equal(kelvin_to_celsius("300 K"), 26.85)
     assert_approx_equal(kelvin_to_celsius(300.), 26.85)
     self.assertEqual(auto_format(kelvin_to_celsius, "300 K"), "26.9 °C")
예제 #16
0
 def test_fahrenheit_to_kelvin(self):
     assert_approx_equal(fahrenheit_to_kelvin("11 °F"), 261.483333333)
     assert_approx_equal(fahrenheit_to_kelvin(11.), 261.483333333)
     assert_approx_equal(fahrenheit_to_kelvin("20 °F"), 266.483333333)
     assert_approx_equal(fahrenheit_to_kelvin(20.), 266.483333333)
     self.assertEqual(auto_format(fahrenheit_to_kelvin, "20 °F"), "266 K")
예제 #17
0
 def testActualNoise(self):
     assert_approx_equal(actualNoise("100 µV", "100 Hz"), 1e-3)
     assert_approx_equal(actualNoise(1e-4, 100), 1e-3)
     assert_equal(auto_format(actualNoise, "100 µV", "100 Hz"), '1.00 mV')
예제 #18
0
 def test_resonant_frequency(self):
     assert_approx_equal(resonant_frequency("100 uH", "10 nF"),
                         159154.94309189534)
     self.assertEqual(auto_format(resonant_frequency, "100 uH", "10 nF"),
                      '159 kHz')
예제 #19
0
 def test_top_resistor_by_ratio(self):
     assert_approx_equal(top_resistor_by_ratio(1000.0, 0.5), 1000.0)
     assert_approx_equal(top_resistor_by_ratio(1000.0, 5/6.0), 200.0)
     self.assertEqual(auto_format(top_resistor_by_ratio, 1000.0, 0.5), "1000 Ω")
     self.assertEqual(auto_format(top_resistor_by_ratio, 1000.0, 5/6.0), "200 Ω")
 def test_bottom_resistor_by_ratio(self):
     assert_approx_equal(bottom_resistor_by_ratio(1000.0, 0.5), 1000.0)
     assert_approx_equal(bottom_resistor_by_ratio(200.0, 5/6.0), 1000.0)
     assert_equal(auto_format(bottom_resistor_by_ratio, 1000.0, 0.5), "1000 Ω")
     assert_equal(auto_format(bottom_resistor_by_ratio, 400.0, 5/6.0), "2.00 kΩ")
예제 #21
0
 def test_resonant_impedance(self):
     assert_approx_equal(resonant_impedance("100 uH", "10 nF", Q=30.0),
                         10. / 3)
     self.assertEqual(
         auto_format(resonant_impedance, "100 uH", "10 nF", Q=30.0),
         '3.33 Ω')
예제 #22
0
 def test_capacitor_energy(self):
     assert_approx_equal(capacitor_energy("1.5 F", "5.0 V"), 18.75)
     assert_approx_equal(capacitor_energy("1.5 F", "0.0 V"), 0.0)
     assert_equal(auto_format(capacitor_energy, "100 mF", "1.2 V"), "72.0 mJ")
예제 #23
0
 def test_resonant_inductance(self):
     assert_approx_equal(resonant_inductance("250 kHz", "10 nF"),
                         4.052847345693511e-05)
     self.assertEqual(auto_format(resonant_inductance, "250 kHz", "10 nF"),
                      '40.5 µH')
예제 #24
0
 def test_actual_load_capacitance(self):
     self.assertEqual(auto_format(actual_load_capacitance, "5 pF", cpin="3 pF", cstray="2pF"), '6.00 pF')
 def test_top_resistor_by_ratio(self):
     assert_approx_equal(top_resistor_by_ratio(1000.0, 0.5), 1000.0)
     assert_approx_equal(top_resistor_by_ratio(1000.0, 5/6.0), 200.0)
     assert_equal(auto_format(top_resistor_by_ratio, 1000.0, 0.5), "1000 Ω")
     assert_equal(auto_format(top_resistor_by_ratio, 1000.0, 5/6.0), "200 Ω")
예제 #26
0
 def test_deviation(self):
     self.assertEqual(auto_format(crystal_deviation_seconds_per_minute, "20 ppm"), '1.20 ms')
     self.assertEqual(auto_format(crystal_deviation_seconds_per_hour, "20 ppm"), '72.0 ms')
     self.assertEqual(auto_format(crystal_deviation_seconds_per_day, "20 ppm"), '1.73 s')
     self.assertEqual(auto_format(crystal_deviation_seconds_per_month, "20 ppm"), '53.6 s')
     self.assertEqual(auto_format(crystal_deviation_seconds_per_year, "20 ppm"), '631 s')
예제 #27
0
 def test_johnson_nyquist_noise_current(self):
     v = johnson_nyquist_noise_current("20 MΩ", "Δ10000 Hz", "20 °C")
     assert_approx_equal(v, 2.84512e-12, significant=5)
     assert_equal(
         auto_format(johnson_nyquist_noise_current, "20 MΩ", "Δ10000 Hz",
                     "20 °C"), "2.85 pA")
예제 #28
0
 def test_load_capacitor(self):
     # Example from https://blog.adafruit.com/2012/01/24/choosing-the-right-crystal-and-caps-for-your-design/
     self.assertEqual(auto_format(load_capacitors, "6 pF", cpin="3 pF", cstray="2pF"), '5.00 pF')
예제 #29
0
 def test_inductive_reactance(self):
     assert_approx_equal(inductive_reactance("100 µH", "3.2 MHz"), 2010.619)
     assert_approx_equal(inductive_reactance(100e-6, 3.2e6), 2010.619)
     assert_equal(auto_format(inductive_reactance, "100 µH", "3.2 MHz"),
                  "2.01 kΩ")
예제 #30
0
 def testAutoFormatTemperature(self):
     assert_equal(auto_format(normalize_temperature, "-200°C"), "73.1 °K")
     assert_equal(auto_format(normalize_temperature_celsius, "-200°C"), "-200.00 °C")
     assert_equal(auto_format(normalize_temperature_celsius, "-111 °C"), "-111.00 °C")
     assert_equal(auto_format(normalize_temperature_celsius, "0 °K"), "-273.15 °C")
예제 #31
0
 def test_capacitor_energy(self):
     assert_approx_equal(capacitor_energy("1.5 F", "5.0 V"), 18.75)
     assert_approx_equal(capacitor_energy("1.5 F", "0.0 V"), 0.0)
     self.assertEqual(auto_format(capacitor_energy, "100 mF", "1.2 V"), "72.0 mJ")
예제 #32
0
 def test_summing_amplifier_noninv(self):
     v = summing_amplifier_noninv("2.5V", "500mV", "1kΩ", "1kΩ", "1kΩ", "1kΩ")
     assert_approx_equal(v, 3.0)
     v = summing_amplifier_noninv(2.5, 0.5, 1e3, 1e3, 300, 1e3)
     assert_approx_equal(v, 6.5)
     assert_equal(auto_format(summing_amplifier_noninv, 2.5, 0.5, 1e3, 1e3, 300, 1e3), "6.50 V")