Make PositionListWritable test code
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/PositionListWritable.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/PositionListWritable.java
index c620fa2..7a5692c 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/PositionListWritable.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/PositionListWritable.java
@@ -28,6 +28,10 @@
this.offset = 0;
}
+ public PositionListWritable(int count, byte[] data, int offset) {
+ setNewReference(count, data, offset);
+ }
+
public PositionListWritable(List<PositionWritable> posns) {
this();
setSize(posns.size()); // reserve space for all elements
@@ -48,6 +52,11 @@
valueCount += 1;
}
+ public void append(byte mateId, long readId, int posId){
+ long uuid = (readId << 17) + ((posId & 0xFFFF) << 1) + (mateId & 0b1);
+ append(uuid);
+ }
+
public void append(PositionWritable pos) {
if(pos != null)
append(pos.getUUID());
diff --git a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/PositionWritable.java b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/PositionWritable.java
index 1e4eed6..ae02982 100644
--- a/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/PositionWritable.java
+++ b/genomix/genomix-data/src/main/java/edu/uci/ics/genomix/type/PositionWritable.java
@@ -30,9 +30,13 @@
setNewReference(storage, offset);
}
+ public void set(long uuid){
+ Marshal.putLong(uuid, storage, offset);
+ }
+
public void set(byte mateId, long readId, int posId){
- long finalId = (readId << 17) + ((posId & 0xFFFF) << 1) + (mateId & 0b1);
- Marshal.putLong(finalId, storage, offset);
+ long uuid = (readId << 17) + ((posId & 0xFFFF) << 1) + (mateId & 0b1);
+ Marshal.putLong(uuid, storage, offset);
}
public void set(PositionWritable pos) {
@@ -44,6 +48,10 @@
this.offset = offset;
}
+ public long getUUID(){
+ return Marshal.getLong(storage, offset);
+ }
+
public byte getMateId(){
return (byte) (Marshal.getLong(storage, offset) & 0b1);
}
@@ -56,10 +64,6 @@
return (int) ((Marshal.getLong(storage, offset) >> 1) & 0xffff);
}
- public long getUUID(){
- return Marshal.getLong(storage, offset);
- }
-
public byte[] getByteArray() {
return storage;
}
diff --git a/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/KmerBytesWritableTest.java b/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/KmerBytesWritableTest.java
index 25353f0..37c64aa 100644
--- a/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/KmerBytesWritableTest.java
+++ b/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/KmerBytesWritableTest.java
@@ -15,10 +15,6 @@
package edu.uci.ics.genomix.data.test;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-
import junit.framework.Assert;
import org.junit.Test;
diff --git a/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/PositionListWritableTest.java b/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/PositionListWritableTest.java
index 1e965ef..fea658d 100644
--- a/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/PositionListWritableTest.java
+++ b/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/PositionListWritableTest.java
@@ -6,8 +6,8 @@
import org.junit.Test;
-import edu.uci.ics.genomix.oldtype.PositionListWritable;
-import edu.uci.ics.genomix.oldtype.PositionWritable;
+import edu.uci.ics.genomix.type.PositionListWritable;
+import edu.uci.ics.genomix.type.PositionWritable;
public class PositionListWritableTest {
@@ -15,17 +15,26 @@
public void TestInitial() {
PositionListWritable plist = new PositionListWritable();
Assert.assertEquals(plist.getCountOfPosition(), 0);
-
+
+ byte mateId;
+ long readId;
+ int posId;
for (int i = 0; i < 200; i++) {
- plist.append(i, (byte) i);
- Assert.assertEquals(i, plist.getPosition(i).getReadID());
- Assert.assertEquals((byte) i, plist.getPosition(i).getPosInRead());
+ mateId = (byte)1;
+ readId = (long)i;
+ posId = i;
+ plist.append(mateId, readId, posId);
+ Assert.assertEquals(plist.getPosition(i).getMateId(), mateId);
+ Assert.assertEquals(plist.getPosition(i).getReadId(), readId);
+ Assert.assertEquals(plist.getPosition(i).getPosId(), posId);
Assert.assertEquals(i + 1, plist.getCountOfPosition());
}
+
int i = 0;
for (PositionWritable pos : plist) {
- Assert.assertEquals(i, pos.getReadID());
- Assert.assertEquals((byte) i, pos.getPosInRead());
+ Assert.assertEquals((byte)1, pos.getMateId());
+ Assert.assertEquals((long) i, pos.getReadId());
+ Assert.assertEquals(i, pos.getPosId());
i++;
}
@@ -43,16 +52,25 @@
PositionListWritable plist = new PositionListWritable();
Assert.assertEquals(plist.getCountOfPosition(), 0);
+ byte mateId;
+ long readId;
+ int posId;
for (int i = 0; i < 5; i++) {
- plist.append(i, (byte) i);
- Assert.assertEquals(i, plist.getPosition(i).getReadID());
- Assert.assertEquals((byte) i, plist.getPosition(i).getPosInRead());
+ mateId = (byte)1;
+ readId = (long)i;
+ posId = i;
+ plist.append(mateId, readId, posId);
+ Assert.assertEquals(plist.getPosition(i).getMateId(), mateId);
+ Assert.assertEquals(plist.getPosition(i).getReadId(), readId);
+ Assert.assertEquals(plist.getPosition(i).getPosId(), posId);
Assert.assertEquals(i + 1, plist.getCountOfPosition());
}
+
int i = 0;
for (PositionWritable pos : plist) {
- Assert.assertEquals(i, pos.getReadID());
- Assert.assertEquals((byte) i, pos.getPosInRead());
+ Assert.assertEquals((byte)1, pos.getMateId());
+ Assert.assertEquals((long) i, pos.getReadId());
+ Assert.assertEquals(i, pos.getPosId());
i++;
}
@@ -65,7 +83,7 @@
for(int j = 0; j < 5; j++){
iterator = copyList.iterator();
PositionWritable deletePos = new PositionWritable();
- deletePos.set(j, (byte)j);
+ deletePos.set((byte)1, (long)j, j);
while(iterator.hasNext()){
pos = iterator.next();
if(pos.equals(deletePos)){
@@ -76,8 +94,9 @@
Assert.assertEquals(5 - 1 - j, copyList.getCountOfPosition());
while(iterator.hasNext()){
pos = iterator.next();
- Assert.assertTrue(pos.getReadID() != deletePos.getReadID());
- Assert.assertTrue(pos.getPosInRead() != deletePos.getPosInRead());
+ Assert.assertTrue(pos.getUUID() != deletePos.getUUID());
+ Assert.assertTrue(pos.getReadId() != deletePos.getReadId());
+ Assert.assertTrue(pos.getPosId() != deletePos.getPosId());
i++;
}
}
diff --git a/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/PositionWritableTest.java b/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/PositionWritableTest.java
index 552ec36..f7e634b 100644
--- a/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/PositionWritableTest.java
+++ b/genomix/genomix-data/src/test/java/edu/uci/ics/genomix/data/test/PositionWritableTest.java
@@ -17,7 +17,7 @@
int posId;
byte[] start = new byte[8];
for (int i = 0; i < 65535; i++) {
- mateId = (byte)1;
+ mateId = (byte)1;//0
readId = (long)i;
posId = i;
pos = new PositionWritable(mateId, readId, posId);
@@ -25,8 +25,8 @@
Assert.assertEquals(pos.getReadId(), readId);
Assert.assertEquals(pos.getPosId(), posId);
- long finalId = ((readId + 1) << 17) + ((posId & 0xFFFF) << 1) + (mateId & 0b1);
- Marshal.putLong(finalId, start, 0);
+ long uuid = ((readId + 1) << 17) + ((posId & 0xFFFF) << 1) + (mateId & 0b1);
+ Marshal.putLong(uuid, start, 0);
pos1 = new PositionWritable(start, 0);
Assert.assertEquals(pos1.getMateId(), mateId);
Assert.assertEquals(pos1.getReadId(), readId + 1);