New function: stop
[pazpar2-moved-to-github.git] / src / test_record.c
index 0427512..ecf1b23 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: test_record.c,v 1.1 2007-04-23 12:33:00 marc Exp $
+/* $Id: test_record.c,v 1.5 2007-05-29 07:16:50 marc Exp $
    Copyright (c) 2006-2007, Index Data.
 
 This file is part of Pazpar2.
@@ -19,17 +19,6 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 02111-1307, USA.
  */
 
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <signal.h>
-#include <ctype.h>
-#include <assert.h>
-
 #if HAVE_CONFIG_H
 #include "cconfig.h"
 #endif
@@ -41,11 +30,9 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 
 #include <yaz/test.h>
 
-
-//#include "pazpar2.h"
 #include "config.h"
 #include "record.h"
-//#include "pazpar2.h"
+
 
 
 void test_record(int argc, char **argv)
@@ -56,6 +43,16 @@ void test_record(int argc, char **argv)
   struct record *record = 0;
 
   struct client *client = 0;
+  char * bla = "blabla";
+  union data_types data_text;
+  data_text.text = bla;
+
+  
+  union data_types data_num;
+  data_num.number.min = 2;
+  data_num.number.max = 5;
+
+  struct record_metadata * tmp_md = 0;
 
   service =  conf_service_create(nmem, 4, 3);
   YAZ_CHECK(service);
@@ -95,31 +92,36 @@ void test_record(int argc, char **argv)
   // why on earth do we have a client dangeling from the record ??
   record->client = client;
 
-  char * bla = "blabla";
-  union data_types data_text;
-  data_text.text = bla;
-
-  
-  union data_types data_num;
-  data_num.number.min = 2;
-  data_num.number.max = 5;
-
-  struct record_metadata * tmp_md = 0;
   tmp_md = record_metadata_insert(nmem, &(record->metadata[0]), data_text);
   YAZ_CHECK(tmp_md);
-  tmp_md = record_metadata_insert(nmem, &tmp_md, data_text);
+  YAZ_CHECK(0 == record->metadata[0]->next);
+
+  tmp_md = record_metadata_insert(nmem, &(record->metadata[0]->next), 
+                                  data_text);
   YAZ_CHECK(tmp_md);
+  YAZ_CHECK(record->metadata[0]->next);
 
   YAZ_CHECK(record_add_metadata_field_id(nmem, record, 3, data_num));
+  YAZ_CHECK(0 == record->metadata[3]->next);
   YAZ_CHECK(record_add_metadata_field_id(nmem, record, 3, data_num));
+  YAZ_CHECK(record->metadata[3]->next);
 
   YAZ_CHECK(record_add_metadata(nmem, record, service, "author", data_text));
+  YAZ_CHECK(0 == record->metadata[1]->next);
   YAZ_CHECK(record_add_metadata(nmem, record, service, "author", data_text));
+  YAZ_CHECK(record->metadata[1]->next);
 
 
+  YAZ_CHECK(0 == record->sortkeys[0]);
   YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 0, data_text));
+  YAZ_CHECK(record->sortkeys[0]);
+  YAZ_CHECK(0 == record->sortkeys[1]);
   YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 1, data_text));
+  YAZ_CHECK(record->sortkeys[1]);
+  YAZ_CHECK(0 == record->sortkeys[2]);
   YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 2, data_num));
+  YAZ_CHECK(record->sortkeys[2]);
+
 
   YAZ_CHECK(record_assign_sortkey(nmem, record, service, "relevance", data_text));
   YAZ_CHECK(record_assign_sortkey(nmem, record, service, "title", data_text));