Skip to content

Commit 5319a31

Browse files
committed
fix: handle null values in DECIMAL case of JsonSpecTestRunner
1 parent 4850e7f commit 5319a31

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/net-questdb-client-tests/JsonSpecTestRunner.cs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
******************************************************************************/
2424

2525

26+
using System.Globalization;
2627
using System.Net;
2728
using System.Text;
2829
using System.Text.Json;
@@ -68,12 +69,20 @@ private static async Task ExecuteTestCase(ISender sender, TestCase testCase)
6869
break;
6970

7071
case "LONG":
71-
sender.Column(column.Name, (long)((JsonElement)column.Value).GetDouble());
72+
sender.Column(column.Name, ((JsonElement)column.Value).GetInt64());
7273
break;
7374

7475
case "DECIMAL":
75-
var d = decimal.Parse(((JsonElement)column.Value).GetString()!);
76-
sender.Column(column.Name, d);
76+
var value = ((JsonElement)column.Value).GetString();
77+
if (value is null)
78+
{
79+
sender.Column(column.Name, (decimal?)null);
80+
}
81+
else
82+
{
83+
var d = decimal.Parse(value, NumberStyles.Number, CultureInfo.InvariantCulture);
84+
sender.Column(column.Name, d);
85+
}
7786
break;
7887

7988
default:

0 commit comments

Comments
 (0)