Skip to content

Commit a1be6d0

Browse files
committed
Implement FloatField; close #4
1 parent 905352c commit a1be6d0

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

adapters/fields.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from .base import BaseField
66

77

8-
__all__ = ['Field', 'CharField', 'IntField']
8+
__all__ = ['Field', 'CharField', 'FloatField', 'IntField']
99

1010

1111
class Field(BaseField):
@@ -17,6 +17,11 @@ def adapt(self, data):
1717
return unicode(data)
1818

1919

20+
class FloatField(BaseField):
21+
def adapt(self, data):
22+
return float(data)
23+
24+
2025
class IntField(BaseField):
2126
def adapt(self, data):
2227
return int(data)

tests/test_fields.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,13 @@ def test_int_field_from_string(self):
2222
actual = adapters.IntField().adapt('123456')
2323
expected = 123456
2424
self.assertEqual(actual, expected)
25+
26+
def test_float_field(self):
27+
actual = adapters.FloatField().adapt(3.14159265359)
28+
expected = 3.14159265359
29+
self.assertEqual(actual, expected)
30+
31+
def test_float_field_from_string(self):
32+
actual = adapters.FloatField().adapt('3.14159265359')
33+
expected = 3.14159265359
34+
self.assertEqual(actual, expected)

0 commit comments

Comments
 (0)