-/* $Id: test_record.c,v 1.2 2007-04-24 13:50:07 marc Exp $
- Copyright (c) 2006-2007, Index Data.
-
-This file is part of Pazpar2.
+/* This file is part of Pazpar2.
+ Copyright (C) 2006-2009 Index Data
Pazpar2 is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
for more details.
You should have received a copy of the GNU General Public License
-along with Pazpar2; see the file LICENSE. If not, write to the
-Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
- */
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 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"
+#include <config.h>
#endif
#define USE_TIMING 0
#include <yaz/test.h>
-
-//#include "pazpar2.h"
-#include "config.h"
+#include "pazpar2_config.h"
#include "record.h"
-//#include "pazpar2.h"
-
void test_record(int argc, char **argv)
{
- NMEM nmem = nmem_create();
-
- struct conf_service *service = 0;
- struct record *record = 0;
+ NMEM nmem = nmem_create();
- struct client *client = 0;
+ struct conf_service *service = 0;
+ struct record *record = 0;
- service = conf_service_create(nmem, 4, 3);
- YAZ_CHECK(service);
+ struct client *client = 0;
+ char * bla = "blabla";
+ union data_types data_text;
+ union data_types data_num;
+ struct record_metadata * tmp_md = 0;
- YAZ_CHECK(conf_service_add_metadata(nmem, service, 0, "title",
- Metadata_type_generic, Metadata_merge_unique,
- 1, 1, 1, 0));
+ data_text.text.disp = bla;
+ data_text.text.sort = bla;
- YAZ_CHECK(conf_service_add_metadata(nmem, service, 1, "author",
- Metadata_type_generic, Metadata_merge_longest,
- 1, 1, 1, 0));
+ data_num.number.min = 2;
+ data_num.number.max = 5;
- YAZ_CHECK(conf_service_add_metadata(nmem, service, 2, "isbn",
- Metadata_type_number, Metadata_merge_no,
- 1, 1, 1, 0));
- YAZ_CHECK(conf_service_add_metadata(nmem, service, 3, "year",
- Metadata_type_year, Metadata_merge_range,
- 1, 1, 1, 0));
-
- YAZ_CHECK(conf_service_add_sortkey(nmem, service, 0, "relevance",
- Metadata_sortkey_relevance));
-
- YAZ_CHECK(conf_service_add_sortkey(nmem, service, 1, "title",
- Metadata_sortkey_string));
+ service = conf_service_create(0, 4, 3, 0);
+ YAZ_CHECK(service);
+
+ YAZ_CHECK(conf_service_add_metadata(
+ service, 0, "title",
+ Metadata_type_generic, Metadata_merge_unique,
+ Metadata_setting_no, 1, 1, 1, 0,
+ Metadata_mergekey_no
+ ));
+
+ YAZ_CHECK(conf_service_add_metadata(
+ service, 1, "author",
+ Metadata_type_generic, Metadata_merge_longest,
+ Metadata_setting_no,1, 1, 1, 0,
+ Metadata_mergekey_no));
+
+ YAZ_CHECK(conf_service_add_metadata(
+ service, 2, "isbn",
+ Metadata_type_number, Metadata_merge_no,
+ Metadata_setting_no, 1, 1, 1, 0,
+ Metadata_mergekey_no));
+
+ YAZ_CHECK(conf_service_add_metadata(
+ service, 3, "year",
+ Metadata_type_year, Metadata_merge_range,
+ Metadata_setting_no, 1, 1, 1, 0,
+ Metadata_mergekey_no));
+
+ YAZ_CHECK(conf_service_add_sortkey(
+ service, 0, "relevance",
+ Metadata_sortkey_relevance));
- YAZ_CHECK(conf_service_add_sortkey(nmem, service, 2, "year",
- Metadata_sortkey_numeric));
+ YAZ_CHECK(conf_service_add_sortkey(
+ service, 1, "title",
+ Metadata_sortkey_string));
-
-
-
- // testing record things
- record = record_create(nmem, 4, 3);
- YAZ_CHECK(record);
-
- // 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;
-
+ YAZ_CHECK(conf_service_add_sortkey(
+ service, 2, "year",
+ Metadata_sortkey_numeric));
- 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);
- 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);
+ // testing record things
+ record = record_create(nmem, 4, 3, client, 1);
+ YAZ_CHECK(record);
+
+ tmp_md = record_metadata_insert(nmem, &(record->metadata[0]), data_text);
+ YAZ_CHECK(tmp_md);
+ YAZ_CHECK(0 == record->metadata[0]->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);
+ 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_assign_sortkey_field_id(nmem, record, 0, data_text));
- YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 1, data_text));
- YAZ_CHECK(record_assign_sortkey_field_id(nmem, record, 2, data_num));
+ 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(record_assign_sortkey(nmem, record, service, "relevance", data_text));
- YAZ_CHECK(record_assign_sortkey(nmem, record, service, "title", data_text));
- YAZ_CHECK(record_assign_sortkey(nmem, record, service, "year", data_num));
+ 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));
+ YAZ_CHECK(record_assign_sortkey(nmem, record, service, "year", data_num));
- nmem_destroy(nmem);
+ nmem_destroy(nmem);
- //YAZ_CHECK(0 == 0);
- //YAZ_CHECK_EQ(0, 1);
+ //YAZ_CHECK(0 == 0);
+ //YAZ_CHECK_EQ(0, 1);
}
YAZ_CHECK_INIT(argc, argv);
YAZ_CHECK_LOG();
-
test_record(argc, argv);
-
YAZ_CHECK_TERM;
}
-
-
/*
* Local variables:
* c-basic-offset: 4
+ * c-file-style: "Stroustrup"
* indent-tabs-mode: nil
* End:
* vim: shiftwidth=4 tabstop=8 expandtab
*/
+