def test_to_mongo(): field = fields.DecimalField() data = field.to_mongo(None, Decimal('123.45')) assert set(data.keys()) == {'i', 'e'} assert data['i'] == 12345 assert data['e'] == -2
class InhDoc(Doc): d = fields.DecimalField()
class Doc(Document): __collection__ = 'testdocs' dec = fields.DecimalField() dec128 = fields.Decimal128Field()
def test_context_init(): context = Context(prec=5) field = fields.DecimalField(context=context) assert isinstance(field.context, Context) assert field.context == context
def test_context_default(): field = fields.DecimalField() assert isinstance(field.context, Context) assert field.context == getcontext()
def test_func_str(): field = fields.DecimalField() dec = field.prepare_value(None, '3.14') assert isinstance(dec, Decimal) assert dec == Decimal('3.14')
def test_func_int(): field = fields.DecimalField() dec = field.prepare_value(None, 13) assert isinstance(dec, Decimal) assert dec == Decimal(13)
def test_from_mongo__decimal(): field = fields.DecimalField() dec = field.from_mongo(None, Decimal('123.45')) assert dec == Decimal('123.45')
def test_from_mongo(): field = fields.DecimalField() dec = field.from_mongo(None, {'i': 12345, 'e': -2}) assert dec == Decimal('123.45')