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Ω")
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")
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")
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 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')
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")
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")
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_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")
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Ω")
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")
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")
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")
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")
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')
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')
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Ω")
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 Ω')
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")
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')
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 Ω")
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')
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")
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')
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")
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")