summaryrefslogtreecommitdiff
path: root/tests/unit/bson/bson_reset.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/bson/bson_reset.c')
-rw-r--r--tests/unit/bson/bson_reset.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/unit/bson/bson_reset.c b/tests/unit/bson/bson_reset.c
new file mode 100644
index 0000000..23f2ce6
--- /dev/null
+++ b/tests/unit/bson/bson_reset.c
@@ -0,0 +1,27 @@
+#include "bson.h"
+#include "test.h"
+#include "tap.h"
+
+void
+test_bson_reset (void)
+{
+ bson *b;
+
+ b = test_bson_generate_full ();
+
+ cmp_ok (bson_size (b), "!=", -1,
+ "bson_size() != -1 on a non-empty document");
+ ok (bson_reset (b), "bson_reset() works");
+ cmp_ok (bson_size (b), "==", -1,
+ "bson_size() on a reseted object returns an error");
+ bson_finish (b);
+ cmp_ok (bson_size (b), "==", 5,
+ "bson_size() on a reseted & finished object matches the "
+ "size of an empty document");
+ bson_free (b);
+
+ ok (bson_reset (NULL) == FALSE,
+ "bson_reset(NULL) should fail");
+}
+
+RUN_TEST (5, bson_reset);