def test_to_float(): # positive_numbers assert float(EngUnit('220k')) == 220000.0 assert float(EngUnit('220m')) == 0.220 # negative_numbers assert float(EngUnit('-220k')) == -220000.0 assert float(EngUnit('-220m')) == -0.220
def test_to_str(): # positive_numbers assert str(EngUnit('220') == '220') assert str(EngUnit('220ohm') == '220ohm') # negative_numbers assert str(EngUnit('-220') == '-220') assert str(EngUnit('-220ohm') == '-220ohm')
def test_to_int(): # positive_numbers assert int(EngUnit('220k')) == 220000 assert int(EngUnit('220m')) == 0 # negative_numbers assert int(EngUnit('-220k')) == -220000 assert int(EngUnit('-220m')) == -0
def test_ge(): # positive_numbers assert EngUnit('220kohm') >= EngUnit('219000ohm') assert EngUnit('220kohm') >= EngUnit('220000ohm') with pytest.raises(AttributeError): EngUnit('220kohm') >= 219000 # negative_numbers assert EngUnit('-220kohm') <= EngUnit('-219000ohm') assert EngUnit('-220kohm') <= EngUnit('-220000ohm') with pytest.raises(AttributeError): EngUnit('-220kohm') <= -219000
def test_to_str_large(): # positive_numbers assert str(EngUnit('220kHz')) == '220kHz' assert str(EngUnit('220000')) == '220k' assert str(EngUnit(220000)) == '220k' assert str(EngUnit(220000.00)) == '220k' assert str(EngUnit(220001.25)) == '220k' # negative_numbers assert str(EngUnit('-220kHz')) == '-220kHz' assert str(EngUnit('-220000')) == '-220k' assert str(EngUnit(-220000)) == '-220k' assert str(EngUnit(-220000.00)) == '-220k' assert str(EngUnit(-220001.25)) == '-220k'
def test_to_str_small(): # positive_numbers assert str(EngUnit('220mohm')) == '220mohm' assert str(EngUnit('0.220')) == '220m' assert str(EngUnit(0.220)) == '220m' assert str(EngUnit(0.220000125)) == '220m' # negative_numbers assert str(EngUnit('-220mohm')) == '-220mohm' assert str(EngUnit('-0.220')) == '-220m' assert str(EngUnit(-0.220)) == '-220m' assert str(EngUnit(-0.220000125)) == '-220m'
def test_gt(): # positive_numbers assert EngUnit('220kohm') > EngUnit('219000ohm') with pytest.raises(AttributeError): EngUnit('220kohm') > 219000 # negative_numbers assert EngUnit('-220kohm') < EngUnit('-219000ohm') with pytest.raises(AttributeError): EngUnit('-220kohm') < -219000
def test_lt(): # positive_numbers assert EngUnit('220kohm') < EngUnit('221000ohm') with pytest.raises(AttributeError): EngUnit('220kohm') < 221000
def test_eq(): # positive_numbers assert EngUnit('220k') == EngUnit(220000) assert EngUnit('220k') == 220000 assert EngUnit('220k') == 220000.0 assert 220000 == EngUnit('220k') assert 220000.0 == EngUnit('220k') with pytest.raises(AttributeError): EngUnit('220mHz') == EngUnit('0.220ohm') with pytest.raises(AttributeError): EngUnit('220mHz') == 10 with pytest.raises(AttributeError): EngUnit('220mHz') == 10.0 # negative_numbers assert EngUnit('-220k') == EngUnit(-220000) assert EngUnit('-220k') == -220000 assert EngUnit('-220k') == -220000.0 assert -220000 == EngUnit('-220k') assert -220000.0 == EngUnit('-220k') with pytest.raises(AttributeError): EngUnit('-220mHz') == EngUnit('-0.220ohm') with pytest.raises(AttributeError): EngUnit('-220mHz') == -10 with pytest.raises(AttributeError): EngUnit('-220mHz') == -10.0
def test_div(): # positive_numbers assert str(EngUnit('220ms') / EngUnit('2s')) == '110ms/s' assert str(EngUnit('220ms') / EngUnit('2')) == '110ms' assert str(EngUnit('220m') / EngUnit('2s')) == '110m/s' assert str(EngUnit('220ms') / 2) == '110ms' assert str(EngUnit('220ms') / 2.0) == '110ms' assert str(2 / EngUnit('220ms')) == '9.09/s' assert str(2.0 / EngUnit('220ms')) == '9.09/s' # negative_numbers assert str(EngUnit('-220ms') / EngUnit('-2s')) == '110ms/s' assert str(EngUnit('-220ms') / EngUnit('-2')) == '110ms' assert str(EngUnit('-220m') / EngUnit('-2s')) == '110m/s' assert str(EngUnit('-220ms') / -2) == '110ms' assert str(EngUnit('-220ms') / -2.0) == '110ms' assert str(-2 / EngUnit('-220ms')) == '9.09/s' assert str(-2.0 / EngUnit('-220ms')) == '9.09/s'
def test_mul(): # positive_numbers assert str(EngUnit('220ms') * EngUnit('2Hz')) == '440msHz' assert str(EngUnit('220ms') * EngUnit('2')) == '440ms' assert str(EngUnit('220m') * EngUnit('2s')) == '440ms' assert str(EngUnit('220ms') * 2) == '440ms' assert str(EngUnit('220ms') * 2.0) == '440ms' assert str(2 * EngUnit('220ms')) == '440ms' assert str(2.0 * EngUnit('220ms')) == '440ms' # negative_numbers assert str(EngUnit('-220ms') * EngUnit('-2Hz')) == '440msHz' assert str(EngUnit('-220ms') * EngUnit('-2')) == '440ms' assert str(EngUnit('-220m') * EngUnit('-2s')) == '440ms' assert str(EngUnit('-220ms') * -2) == '440ms' assert str(EngUnit('-220ms') * -2.0) == '440ms' assert str(-2 * EngUnit('-220ms')) == '440ms' assert str(-2.0 * EngUnit('-220ms')) == '440ms'
def test_sub(): # positive_numbers assert str(EngUnit('220mHz') - EngUnit('10mHz')) == '210mHz' assert str(EngUnit('220mohm') - EngUnit('220uohm')) == '219.78mohm' assert str(EngUnit('220m') - EngUnit('220n')) == '220m' assert str(EngUnit('220m') - 0.01) == '210m' assert str(0.220 - EngUnit('0.01')) == '210m' with pytest.raises(AttributeError): EngUnit('220mHz') - EngUnit('10m') with pytest.raises(AttributeError): EngUnit('10m') - EngUnit('220mHz') with pytest.raises(AttributeError): 10.0 - EngUnit('220mHz') # negative_numbers assert str(EngUnit('-220mHz') - EngUnit('-10mHz')) == '-210mHz' assert str(EngUnit('-220mohm') - EngUnit('-220uohm')) == '-219.78mohm' assert str(EngUnit('-220m') - EngUnit('-220n')) == '-220m' assert str(EngUnit('-220m') - -0.01) == '-210m' assert str(-0.220 - EngUnit('-0.01')) == '-210m' with pytest.raises(AttributeError): EngUnit('-220mHz') - EngUnit('-10m') with pytest.raises(AttributeError): EngUnit('-10m') - EngUnit('-220mHz') with pytest.raises(AttributeError): -10.0 - EngUnit('-220mHz')
def test_add(): # positive_numbers assert str(EngUnit('220mHz') + EngUnit('10mHz')) == '230mHz' assert str(EngUnit('220mohm') + EngUnit('220uohm')) == '220.22mohm' assert str(EngUnit('220m') + EngUnit('220n')) == '220m' assert str(EngUnit('220m') + 0.01) == '230m' assert str(0.01 + EngUnit('220m')) == '230m' with pytest.raises(AttributeError): EngUnit('220mHz') + EngUnit('10m') with pytest.raises(AttributeError): EngUnit('10m') + EngUnit('220mHz') # negative_numbers assert str(EngUnit('-220mHz') + EngUnit('-10mHz')) == '-230mHz' assert str(EngUnit('-220mohm') + EngUnit('-220uohm')) == '-220.22mohm' assert str(EngUnit('-220m') + EngUnit('-220n')) == '-220m' assert str(EngUnit('-220m') + -0.01) == '-230m' assert str(-0.01 + EngUnit('-220m')) == '-230m' with pytest.raises(AttributeError): EngUnit('-220mHz') + EngUnit('-10m') with pytest.raises(AttributeError): EngUnit('-10m') + EngUnit('-220mHz')
def eng(str_units): return str(EngUnit(str_units))