package com.thinkaurelius.faunus; import junit.framework.TestCase; import org.apache.hadoop.io.Text; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; /** * @author Marko A. Rodriguez (http://markorodriguez.com) */ public class WeightedWritableTest extends TestCase { public void testComparable() { WeightedWritable<Text> a = new WeightedWritable<Text>(10, new Text("marko")); WeightedWritable<Text> b = new WeightedWritable<Text>(11, new Text("marko")); assertEquals(0, a.compareTo(b)); } public void testSerialization() throws IOException { WeightedWritable<Text> a = new WeightedWritable<Text>(11, new Text("faunus")); assertEquals(a.get().toString(), "faunus"); assertEquals(a.getWeight(), 11l); ByteArrayOutputStream bytes = new ByteArrayOutputStream(); a.write(new DataOutputStream(bytes)); WeightedWritable<Text> a2 = new WeightedWritable<Text>(new DataInputStream(new ByteArrayInputStream(bytes.toByteArray()))); assertEquals(a, a2); assertEquals(a2.get().toString(), "faunus"); assertEquals(a2.getWeight(), 11l); assertEquals(a.compareTo(a2), 0); } }