def test_constructor_text(qtbot): widget = UnitEdit(text='text') show(locals()) assert bool(widget.getError()) is False assert getCurrentColor( widget, 'Background').names[0] == widget.defaultColors['default'][0] assert set(widget.getSymbols().keys()) == {'text'}
def test_constructor(qtbot): widget = UnitEdit() show(locals()) assert widget.getError() is None assert getCurrentColor( widget, 'Background').names[0] == widget.defaultColors['blank'][0] assert dict() == widget.getSymbols()
def test_conversion_with_symbols(qtbot): widget = UnitEdit(text='1*b*mm') show(locals()) syms = widget.getSymbols() assert set(syms.keys()) == {'b'} expr = widget.getExpr() conv = units.convert_to(expr, units.meter) assert conv == units.meter * Symbol('b') / 1000 assert widget.convertTo('meter') == conv assert widget.convertTo(units.meter) == conv
def test_constructor_units(qtbot): widget = UnitEdit(text='2.0*mm') show(locals()) assert widget.getError() is False assert getCurrentColor( widget, 'Background').names[0] == widget.defaultColors['default'][0] assert widget.getSymbols() == dict() assert widget.getExpr().atoms(units.Unit) == {units.mm} assert widget.getDimension() == units.Dimension('length') assert widget.getMagnitude() == 2 assert widget.getUnits() == units.millimeter assert widget.getValue() == widget.getUnits() * widget.getMagnitude()
def test_invalid_conversion(qtbot): widget = UnitEdit(text='(1*mm)*b') show(locals()) syms = widget.getSymbols() assert set(syms.keys()) == {'b'} assert (widget.convertTo(units.inch) - parseUnits('b*5*inch/127')).simplify() == 0 assert (widget.convertTo('kg') - parseUnits('b*mm')).simplify() == 0 assert (widget.convertTo(units.m * units.m) - parseUnits('b*m/1000')).simplify() == 0 assert (widget.convertTo(units.m) - parseUnits('b*m/1000')).simplify() == 0 widget = UnitEdit(text='2*mm') show(locals()) assert widget.getSymbols() == dict() widget.convertTo(units.inch) assert (widget.convertTo('kg') - parseUnits('2*mm')).simplify() == 0 assert (widget.convertTo(units.m * units.m) - parseUnits('1*m/500')).simplify() == 0 assert (widget.convertTo(units.m) - parseUnits('1*m/500')).simplify() == 0