Multi-threaded DLL (do not use libcmt.lib)
[yaz4j-moved-to-github.git] / src / test / org / yaz4j / ConnectionTest.java
index abeca8f..4459b30 100644 (file)
@@ -3,9 +3,11 @@ package org.yaz4j;
 import org.junit.*;
 import static org.junit.Assert.*;
 import org.yaz4j.exception.*;
+import java.util.List;
 
+@SuppressWarnings("deprecation")
 public class ConnectionTest {
-
+  
   @Test
   public void testConnection() {
     Connection con = new Connection("z3950.indexdata.dk:210/gils", 0);
@@ -14,6 +16,83 @@ public class ConnectionTest {
       con.setSyntax("sutrs");
       System.out.println("Open connection to z3950.indexdata.dk:210/gils...");
       con.connect();
+      ResultSet s = con.search(new PrefixQuery("@attr 1=4 utah"));
+      System.out.println("Search for 'utah'...");
+      assertNotNull(s);
+      assertEquals(s.getHitCount(), 9);
+      Record rec = s.getRecord(0);
+      assertNotNull(rec);
+      byte[] content = rec.getContent();
+      // first SUTRS record
+      assertEquals(content.length, 1940);
+      assertEquals(content[0], 103);
+      assertEquals(rec.getSyntax(), "SUTRS");
+      assertEquals(rec.getDatabase(), "gils");
+      System.out.println("Read all records..");
+      // read all records
+      int i = 0;
+      for (Record r : s) {
+        assertNotNull(r);
+        System.out.println("Got "+i+" record of type "+r.getSyntax());
+        i++;
+      }
+      System.out.println("Try sorting them...");
+      s.sort("yaz", "1=4 >i 1=21 >s");
+      System.out.println("Try fetching them all at once...");
+      i = 0;
+      List<Record> all = s.getRecords(0, (int) s.getHitCount());
+      for (Record r : all) {
+        System.out.println("getRecords, rec '"+i+"'"+r.getSyntax());
+        i++;
+      }
+    } catch (ZoomException ze) {
+      fail(ze.getMessage());
+    } finally {
+      con.close();
+    }
+  }
+  
+   @Test
+  public void testConnectionScan() {
+    Connection con = new Connection("z3950.indexdata.dk:210/gils", 0);
+    assertNotNull(con);
+    try {
+      con.setSyntax("sutrs");
+      System.out.println("Open connection to z3950.indexdata.dk:210/gils...");
+      con.connect();
+      ScanSet s = con.scan(new PrefixQuery("@attr 1=4 utah"));
+      System.out.println("Scan for 'utah'...");
+      assertNotNull(s);
+      assertEquals(s.getSize(), 9);
+      ScanTerm rec = s.get(0);
+      assertNotNull(rec);
+      String term = rec.getTerm();
+      long occur = rec.getOccurences();
+      assertEquals("utah", term);
+      assertEquals(9, occur);
+      System.out.println("Read all scan terms..");
+      // read all records
+      int i = 0;
+      for (ScanTerm r : s) {
+        assertNotNull(r);
+        System.out.println("Got term "+r.getTerm());
+        i++;
+      }
+    } catch (ZoomException ze) {
+      fail(ze.getMessage());
+    } finally {
+      con.close();
+    }
+  }
+
+  @Test
+  public void testConnectionDeprecated() {
+    Connection con = new Connection("z3950.indexdata.dk:210/gils", 0);
+    assertNotNull(con);
+    try {
+      con.setSyntax("sutrs");
+      System.out.println("Open connection to z3950.indexdata.dk:210/gils...");
+      con.connect();
       ResultSet s = con.search("@attr 1=4 utah",
         Connection.QueryType.PrefixQuery);
       System.out.println("Search for 'utah'...");
@@ -27,6 +106,23 @@ public class ConnectionTest {
       assertEquals(content[0], 103);
       assertEquals(rec.getSyntax(), "SUTRS");
       assertEquals(rec.getDatabase(), "gils");
+      System.out.println("Read all records..");
+      // read all records
+      int i = 0;
+      for (Record r : s) {
+        assertNotNull(r);
+        System.out.println("Got "+i+" record of type "+r.getSyntax());
+        i++;
+      }
+      System.out.println("Try sorting them...");
+      s.sort("yaz", "1=4 >i 1=21 >s");
+      System.out.println("Try fetching them all at once...");
+      i = 0;
+      List<Record> all = s.getRecords(0, (int) s.getHitCount());
+      for (Record r : all) {
+        System.out.println("getRecords, rec '"+i+"'"+r.getSyntax());
+        i++;
+      }
     } catch (ZoomException ze) {
       fail(ze.getMessage());
     } finally {
@@ -34,6 +130,7 @@ public class ConnectionTest {
     }
   }
 
+
   @Test
   public void unsupportedSyntax() {
     System.out.println("Open connection to z3950.loc.gov:7090/voyager...");
@@ -83,22 +180,5 @@ public class ConnectionTest {
       con.close();
     }
   }
-
-  @Test
-  public void testScan() {
-    System.out.println("Open connection to z3950cat.bl.uk:9909/BLAC");
-    Connection con = new Connection("z3950cat.bl.uk:9909/BLAC", 0);
-    try {
-      con.connect();
-      con.option("number", "20");
-      ScanSet set = con.scan("@attr 1=21 \"development\"");
-      System.out.println("getSize(): " + set.getSize());
-      assertEquals(20, set.getSize());
-
-    } catch (ZoomException ex) {
-      fail(ex.getMessage());
-    } finally {
-      con.close();
-    }
-  }
+  
 }