cdev-1.7.2n
This commit is contained in:
408
extensions/cdevGenericServer/NameServer/java/rsvcDataTest.java
Normal file
408
extensions/cdevGenericServer/NameServer/java/rsvcDataTest.java
Normal file
@@ -0,0 +1,408 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright (c) 1994,1995 Southeastern Universities Research Association,
|
||||
// Continuous Electron Beam Accelerator Facility
|
||||
//
|
||||
// This software was developed under a United States Government license
|
||||
// described in the NOTICE file included as part of this distribution.
|
||||
//
|
||||
// Jefferson Lab HPC Group, 12000 Jefferson Ave., Newport News, VA 23606
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// Description:
|
||||
// rsvc data package test
|
||||
//
|
||||
// Author:
|
||||
// Jie Chen
|
||||
// Jefferson Lab HPC Group
|
||||
//
|
||||
// Revision History:
|
||||
// $Log: rsvcDataTest.java,v $
|
||||
// Revision 1.1.1.1 2000/05/23 15:12:50 pal
|
||||
// cdev_psi_1.7.2
|
||||
//
|
||||
// Revision 1.1 1999/10/18 17:12:41 chen
|
||||
// *** empty log message ***
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
import java.io.*;
|
||||
import rsvcData;
|
||||
|
||||
public class rsvcDataTest
|
||||
{
|
||||
public static final byte bdata = 1;
|
||||
public static final short sdata = 2;
|
||||
public static final int idata = 3;
|
||||
public static final long ldata = 4;
|
||||
public static final float fdata = (float)5.0;
|
||||
public static final double ddata = 6.0;
|
||||
public static final String strdata = new String ("Hello World I am Here");
|
||||
public static final String file = new String ("/home/chen/java/rsvc/test.dat");
|
||||
public static final String coutputfile = new String ("/home/chen/java/rsvc/coutput.dat");
|
||||
public static final String cinputfile = new String ("/home/chen/java/rsvc/cinput.dat");
|
||||
|
||||
static public void integerConvTest ()
|
||||
{
|
||||
|
||||
// test array insert
|
||||
int []iarray = new int[127];
|
||||
for (int i = 0; i < 127; i++)
|
||||
iarray[i] = i;
|
||||
|
||||
rsvcData data = new rsvcData ();
|
||||
data.insert ("value", iarray);
|
||||
|
||||
// get data test
|
||||
rsvcDataEntry de = data.get ("value");
|
||||
|
||||
// byte converstion
|
||||
byte[] ba = de.byteArray ();
|
||||
rsvcData data1 = new rsvcData ();
|
||||
data1.insert ("value", ba);
|
||||
|
||||
de = data1.get ("value");
|
||||
int []ia = de.intArray();
|
||||
rsvcData data2 = new rsvcData();
|
||||
data2.insert ("value", ia);
|
||||
if (data.equals (data2))
|
||||
System.out.print ("Integer -> Byte -> Integer OK\n");
|
||||
else
|
||||
System.out.print ("Integer -> Byte -> Integer Failed\n");
|
||||
|
||||
// short conversion
|
||||
de = data.get ("value");
|
||||
short[] sa = de.shortArray ();
|
||||
rsvcData data3 = new rsvcData ();
|
||||
data3.insert ("value", sa);
|
||||
de = data3.get ("value");
|
||||
ia = de.intArray ();
|
||||
|
||||
rsvcData data4 = new rsvcData();
|
||||
data4.insert ("value", ia);
|
||||
|
||||
if (data.equals (data4))
|
||||
System.out.print ("Integer -> Short -> Integer OK\n");
|
||||
else
|
||||
System.out.print ("Integer -> Short -> Integer Failed\n");
|
||||
|
||||
|
||||
// long conversion
|
||||
de = data.get ("value");
|
||||
long[] la = de.longArray ();
|
||||
rsvcData data5 = new rsvcData ();
|
||||
data5.insert ("value", la);
|
||||
de = data5.get ("value");
|
||||
ia = de.intArray ();
|
||||
|
||||
rsvcData data6 = new rsvcData();
|
||||
data6.insert ("value", ia);
|
||||
|
||||
if (data.equals (data6))
|
||||
System.out.print ("Integer -> Long -> Integer OK\n");
|
||||
else
|
||||
System.out.print ("Integer -> Long -> Integer Failed\n");
|
||||
|
||||
|
||||
// float conversion
|
||||
de = data.get ("value");
|
||||
float[] fa = de.floatArray ();
|
||||
rsvcData data7 = new rsvcData ();
|
||||
data7.insert ("value", fa);
|
||||
de = data7.get ("value");
|
||||
ia = de.intArray ();
|
||||
|
||||
rsvcData data8 = new rsvcData();
|
||||
data8.insert ("value", ia);
|
||||
|
||||
if (data.equals (data8))
|
||||
System.out.print ("Integer -> Float -> Integer OK\n");
|
||||
else
|
||||
System.out.print ("Integer -> Float -> Integer Failed\n");
|
||||
|
||||
// Double conversion
|
||||
de = data.get ("value");
|
||||
double[] da = de.doubleArray ();
|
||||
rsvcData data9 = new rsvcData ();
|
||||
data9.insert ("value", da);
|
||||
de = data9.get ("value");
|
||||
ia = de.intArray ();
|
||||
|
||||
rsvcData data10 = new rsvcData();
|
||||
data10.insert ("value", ia);
|
||||
|
||||
if (data.equals (data10))
|
||||
System.out.print ("Integer -> Double -> Integer OK\n");
|
||||
else
|
||||
System.out.print ("Integer -> Double -> Integer Failed\n");
|
||||
}
|
||||
|
||||
static public void floatConvTest ()
|
||||
{
|
||||
|
||||
// test array insert
|
||||
float []farray = new float[127];
|
||||
for (int i = 0; i < 127; i++)
|
||||
farray[i] = (float)i;
|
||||
|
||||
rsvcData data = new rsvcData ();
|
||||
data.insert ("value", farray);
|
||||
|
||||
// get data test
|
||||
rsvcDataEntry de = data.get ("value");
|
||||
|
||||
// byte converstion
|
||||
byte[] ba = de.byteArray ();
|
||||
rsvcData data1 = new rsvcData ();
|
||||
data1.insert ("value", ba);
|
||||
|
||||
de = data1.get ("value");
|
||||
float []ia = de.floatArray();
|
||||
rsvcData data2 = new rsvcData();
|
||||
data2.insert ("value", ia);
|
||||
if (data.equals (data2))
|
||||
System.out.print ("Float -> Byte -> Float OK\n");
|
||||
else
|
||||
System.out.print ("Float -> Byte -> Float Failed\n");
|
||||
|
||||
// short conversion
|
||||
de = data.get ("value");
|
||||
short[] sa = de.shortArray ();
|
||||
rsvcData data3 = new rsvcData ();
|
||||
data3.insert ("value", sa);
|
||||
de = data3.get ("value");
|
||||
ia = de.floatArray ();
|
||||
|
||||
rsvcData data4 = new rsvcData();
|
||||
data4.insert ("value", ia);
|
||||
|
||||
if (data.equals (data4))
|
||||
System.out.print ("Float -> Short -> Float OK\n");
|
||||
else
|
||||
System.out.print ("Float -> Short -> Float Failed\n");
|
||||
|
||||
|
||||
// long conversion
|
||||
de = data.get ("value");
|
||||
long[] la = de.longArray ();
|
||||
rsvcData data5 = new rsvcData ();
|
||||
data5.insert ("value", la);
|
||||
de = data5.get ("value");
|
||||
ia = de.floatArray ();
|
||||
|
||||
rsvcData data6 = new rsvcData();
|
||||
data6.insert ("value", ia);
|
||||
|
||||
if (data.equals (data6))
|
||||
System.out.print ("Float -> Long -> Float OK\n");
|
||||
else
|
||||
System.out.print ("Float -> Long -> Float Failed\n");
|
||||
|
||||
|
||||
// Integer conversion
|
||||
de = data.get ("value");
|
||||
int[] fa = de.intArray ();
|
||||
rsvcData data7 = new rsvcData ();
|
||||
data7.insert ("value", fa);
|
||||
de = data7.get ("value");
|
||||
ia = de.floatArray ();
|
||||
|
||||
rsvcData data8 = new rsvcData();
|
||||
data8.insert ("value", ia);
|
||||
|
||||
if (data.equals (data8))
|
||||
System.out.print ("Float -> Integer -> Float OK\n");
|
||||
else
|
||||
System.out.print ("Float -> Integer -> Float Failed\n");
|
||||
|
||||
// Double conversion
|
||||
de = data.get ("value");
|
||||
double[] da = de.doubleArray ();
|
||||
rsvcData data9 = new rsvcData ();
|
||||
data9.insert ("value", da);
|
||||
de = data9.get ("value");
|
||||
ia = de.floatArray ();
|
||||
|
||||
rsvcData data10 = new rsvcData();
|
||||
data10.insert ("value", ia);
|
||||
|
||||
if (data.equals (data10))
|
||||
System.out.print ("Float -> Double -> Float OK\n");
|
||||
else
|
||||
System.out.print ("Float -> Double -> Float Failed\n");
|
||||
}
|
||||
|
||||
public static rsvcData arrayData ()
|
||||
{
|
||||
rsvcData data = new rsvcData ();
|
||||
int i;
|
||||
|
||||
// insert array of double
|
||||
double[] darray = new double[127];
|
||||
for (i = 0; i < 127; i++)
|
||||
darray[i] = 123.232 + i*121.121 + i/89.12;
|
||||
data.insert ("value0", darray);
|
||||
|
||||
// insert array of string
|
||||
String[] sarray = new String[211];
|
||||
for (i = 0; i < 211; i++)
|
||||
sarray[i] = new String("value plus " + String.valueOf(i));
|
||||
data.insert ("value1", sarray);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
||||
public static void main (String[] args)
|
||||
{
|
||||
rsvcData data = new rsvcData();
|
||||
|
||||
// test scaler data insert
|
||||
data.insert ("value0", bdata);
|
||||
data.insert ("value1", sdata);
|
||||
data.insert ("value2", idata);
|
||||
data.insert ("value3", ldata);
|
||||
data.insert ("value4", fdata);
|
||||
data.insert ("value5", ddata);
|
||||
data.insert ("value6", strdata);
|
||||
|
||||
|
||||
try {
|
||||
data.dup ("value4", "value3");
|
||||
}catch (rsvcException e) {
|
||||
data.remove ("value3");
|
||||
data.dup ("value4", "value3");
|
||||
}
|
||||
|
||||
data.asciiDump ();
|
||||
|
||||
rsvcData data1 = new rsvcData (data);
|
||||
if (data.equals (data1))
|
||||
System.out.print ("Data == Data1\n");
|
||||
else
|
||||
System.out.print ("Data != Data1\n");
|
||||
|
||||
data1.insert ("value0", (byte)12);
|
||||
if (data.equals (data1))
|
||||
System.out.print ("Data == Data1\n");
|
||||
else
|
||||
System.out.print ("Data != Data1\n");
|
||||
|
||||
data1.changeTag ("value2", "value12");
|
||||
|
||||
data1.asciiDump ();
|
||||
|
||||
rsvcTimeStamp ts = new rsvcTimeStamp();
|
||||
data1.insert ("value1", ts);
|
||||
data1.asciiDump ();
|
||||
|
||||
integerConvTest ();
|
||||
floatConvTest();
|
||||
|
||||
// test stream out and stream in
|
||||
File outputfile = new File (rsvcDataTest.file);
|
||||
FileOutputStream output = null;
|
||||
try {
|
||||
output = new FileOutputStream (outputfile);
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
|
||||
// find out how big stream rsvcData will be
|
||||
// rsvcData olddata = arrayData ();
|
||||
rsvcData olddata = new rsvcData ();
|
||||
olddata.insert ("value0", (double)129.01);
|
||||
olddata.insert ("value1", (double)142323.01);
|
||||
int dsize = olddata.streamSize ();
|
||||
|
||||
System.out.print ("Data size is " + String.valueOf(dsize) + "\n");
|
||||
|
||||
// Create Buffered output stream
|
||||
BufferedOutputStream boutput = new BufferedOutputStream (output, dsize);
|
||||
try {
|
||||
olddata.streamOut (boutput);
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
|
||||
try {
|
||||
boutput.flush();
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
|
||||
|
||||
// create a buffered input stream
|
||||
rsvcData newdata = new rsvcData ();
|
||||
FileInputStream input = null;
|
||||
try {
|
||||
input = new FileInputStream (outputfile);
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
BufferedInputStream binput = new BufferedInputStream(input, dsize);
|
||||
try {
|
||||
newdata.streamIn (binput);
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
|
||||
newdata.asciiDump ();
|
||||
|
||||
// test equality between newdata and data
|
||||
if (olddata.equals (newdata) )
|
||||
System.out.print ("Data == newdata\n");
|
||||
else
|
||||
System.out.print ("Data != newdata\n");
|
||||
|
||||
// test whether we can read from a file generated by C code
|
||||
// create a buffered input stream
|
||||
|
||||
rsvcData cdata = new rsvcData ();
|
||||
try {
|
||||
input = new FileInputStream (coutputfile);
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
binput = new BufferedInputStream(input, 2400);
|
||||
try {
|
||||
cdata.streamIn (binput);
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
|
||||
cdata.asciiDump ();
|
||||
|
||||
// output some data stream let C++ to pick it up
|
||||
try {
|
||||
output = new FileOutputStream (cinputfile);
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
boutput = new BufferedOutputStream(output, 2400);
|
||||
try {
|
||||
cdata.streamOut (boutput);
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
|
||||
try {
|
||||
boutput.flush();
|
||||
}catch (IOException e) {
|
||||
System.out.println (e);
|
||||
System.exit (-1);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user