aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-10-06 21:27:13 +0200
committerDavid Robillard <d@drobilla.net>2021-03-08 23:23:05 -0500
commit8b1150ee4eee9a82c64b57654c45152b1120d9d5 (patch)
tree0c52afc1d4ddf45890a4e7579e6a6e27916bb115 /test
parentfc2e2b667d82f6114e339e542edd8e2ca708dc1b (diff)
downloadserd-8b1150ee4eee9a82c64b57654c45152b1120d9d5.tar.gz
serd-8b1150ee4eee9a82c64b57654c45152b1120d9d5.tar.bz2
serd-8b1150ee4eee9a82c64b57654c45152b1120d9d5.zip
Remove old floating point tests
Diffstat (limited to 'test')
-rw-r--r--test/test_node.c88
1 files changed, 0 insertions, 88 deletions
diff --git a/test/test_node.c b/test/test_node.c
index 1a83e4cb..81ac3378 100644
--- a/test/test_node.c
+++ b/test/test_node.c
@@ -19,101 +19,15 @@
#include "serd/serd.h"
#include <assert.h>
-#include <float.h>
-#include <math.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#ifndef INFINITY
-# define INFINITY (DBL_MAX + DBL_MAX)
-#endif
-#ifndef NAN
-# define NAN (INFINITY - INFINITY)
-#endif
-
#define NS_XSD "http://www.w3.org/2001/XMLSchema#"
static void
-test_strtod(double dbl, double max_delta)
-{
- char buf[1024];
- snprintf(buf, sizeof(buf), "%f", dbl);
-
- const char* endptr = NULL;
- const double out = serd_strtod(buf, &endptr);
- const double diff = fabs(out - dbl);
-
- assert(diff <= max_delta);
-}
-
-static void
-test_string_to_double(void)
-{
- const double expt_test_nums[] = {
- 2.0E18, -5e19, +8e20, 2e+24, -5e-5, 8e0, 9e-0, 2e+0};
-
- const char* expt_test_strs[] = {
- "02e18", "-5e019", "+8e20", "2E+24", "-5E-5", "8E0", "9e-0", " 2e+0"};
-
- for (size_t i = 0; i < sizeof(expt_test_nums) / sizeof(double); ++i) {
- const double num = serd_strtod(expt_test_strs[i], NULL);
- const double delta = fabs(num - expt_test_nums[i]);
- assert(delta <= DBL_EPSILON);
-
- test_strtod(expt_test_nums[i], DBL_EPSILON);
- }
-}
-
-static void
-test_double_to_node(void)
-{
- const double dbl_test_nums[] = {0.0,
- 9.0,
- 10.0,
- .01,
- 2.05,
- -16.00001,
- 5.000000005,
- 0.0000000001,
- NAN,
- INFINITY};
-
- const char* dbl_test_strs[] = {"0.0",
- "9.0",
- "10.0",
- "0.01",
- "2.05",
- "-16.00001",
- "5.000000005",
- "0.0000000001",
- NULL,
- NULL};
-
- for (size_t i = 0; i < sizeof(dbl_test_nums) / sizeof(double); ++i) {
- SerdNode* node = serd_new_decimal(dbl_test_nums[i], NULL);
- const char* node_str = node ? serd_node_string(node) : NULL;
- const bool pass = (node_str && dbl_test_strs[i])
- ? !strcmp(node_str, dbl_test_strs[i])
- : (node_str == dbl_test_strs[i]);
- assert(pass);
-
- const size_t len = node_str ? strlen(node_str) : 0;
- assert((!node && len == 0) || serd_node_length(node) == len);
-
- if (node) {
- const SerdNode* const datatype = serd_node_datatype(node);
- assert(datatype);
- assert(!dbl_test_strs[i] ||
- !strcmp(serd_node_string(datatype), NS_XSD "decimal"));
- serd_node_free(node);
- }
- }
-}
-
-static void
test_integer_to_node(void)
{
const long int_test_nums[] = {0, -0, -23, 23, -12340, 1000, -1000};
@@ -285,8 +199,6 @@ test_blank(void)
int
main(void)
{
- test_string_to_double();
- test_double_to_node();
test_integer_to_node();
test_blob_to_node();
test_node_equals();