/// <exception cref="System.Exception"/> public virtual void TestWithWritable() { conf.Set("io.serializations", "org.apache.hadoop.io.serializer.WritableSerialization" ); Log.Info("Testing DefaultStringifier with Text"); Random random = new Random(); //test with a Text for (int i = 0; i < 10; i++) { //generate a random string StringBuilder builder = new StringBuilder(); int strLen = random.Next(40); for (int j = 0; j < strLen; j++) { builder.Append(alphabet[random.Next(alphabet.Length)]); } Org.Apache.Hadoop.IO.Text text = new Org.Apache.Hadoop.IO.Text(builder.ToString() ); DefaultStringifier <Org.Apache.Hadoop.IO.Text> stringifier = new DefaultStringifier <Org.Apache.Hadoop.IO.Text>(conf, typeof(Org.Apache.Hadoop.IO.Text)); string str = stringifier.ToString(text); Org.Apache.Hadoop.IO.Text claimedText = stringifier.FromString(str); Log.Info("Object: " + text); Log.Info("String representation of the object: " + str); Assert.Equal(text, claimedText); } }
/// <exception cref="System.IO.IOException"/> public virtual void TestStoreLoad() { Log.Info("Testing DefaultStringifier#store() and #load()"); conf.Set("io.serializations", "org.apache.hadoop.io.serializer.WritableSerialization" ); Org.Apache.Hadoop.IO.Text text = new Org.Apache.Hadoop.IO.Text("uninteresting test string" ); string keyName = "test.defaultstringifier.key1"; DefaultStringifier.Store(conf, text, keyName); Org.Apache.Hadoop.IO.Text claimedText = DefaultStringifier.Load <Org.Apache.Hadoop.IO.Text >(conf, keyName); Assert.Equal("DefaultStringifier#load() or #store() might be flawed" , text, claimedText); }
/// <exception cref="System.Exception"/> public virtual void TestWithJavaSerialization() { conf.Set("io.serializations", "org.apache.hadoop.io.serializer.JavaSerialization" ); Log.Info("Testing DefaultStringifier with Serializable Integer"); //Integer implements Serializable int testInt = Extensions.ValueOf(42); DefaultStringifier <int> stringifier = new DefaultStringifier <int>(conf, typeof(int )); string str = stringifier.ToString(testInt); int claimedInt = stringifier.FromString(str); Log.Info("String representation of the object: " + str); Assert.Equal(testInt, claimedInt); }
/// <exception cref="System.IO.IOException"/> public virtual void TestStoreLoadArray() { Log.Info("Testing DefaultStringifier#storeArray() and #loadArray()"); conf.Set("io.serializations", "org.apache.hadoop.io.serializer.JavaSerialization" ); string keyName = "test.defaultstringifier.key2"; int[] array = new int[] { 1, 2, 3, 4, 5 }; DefaultStringifier.StoreArray(conf, array, keyName); int[] claimedArray = DefaultStringifier.LoadArray <int, int>(conf, keyName); for (int i = 0; i < array.Length; i++) { Assert.Equal("two arrays are not equal", array[i], claimedArray [i]); } }