From 1cb88f9540c7f9c4398c13b83c2594816fa28369 Mon Sep 17 00:00:00 2001 From: Oskari Timperi Date: Wed, 1 Nov 2017 18:55:52 +0200 Subject: Add real validation --- tests/test.nim | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests/test.nim') diff --git a/tests/test.nim b/tests/test.nim index 3eda4eb..06c7ce0 100644 --- a/tests/test.nim +++ b/tests/test.nim @@ -433,3 +433,28 @@ suite "type basics: integers": let data = prologue & "Value: " & value & "\n" expect(Exception): discard toSeq(recordsInSet(newStringStream(data), "Entry")) + +suite "type basics: reals": + const prologue = """ +%rec: Entry +%type: Value real + +""" + + test "valid reals": + const values = ["0", "1", "123456789", "987654321", "-123456789", + "-987654321", "-0", + "0.0", "0.12345", "1234.5678", + "1e8", "1E8", "1e+9", "1E-9", "1e10"] + + for value in values: + let data = prologue & "Value: " & value & "\n" + discard toSeq(recordsInSet(newStringStream(data), "Entry")) + + test "invalid reals": + const values = ["0.", "foobar", "01", "1-"] + + for value in values: + let data = prologue & "Value: " & value & "\n" + expect(Exception): + discard toSeq(recordsInSet(newStringStream(data), "Entry")) -- cgit v1.2.3