package com.qiniu.android;
import android.test.AndroidTestCase;
import com.qiniu.android.common.Constants;
import com.qiniu.android.storage.Configuration;
import com.qiniu.android.utils.Etag;
import junit.framework.Assert;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
public class EtagTest extends AndroidTestCase {
public void testData() {
String m = Etag.data(new byte[0]);
Assert.assertEquals("Fto5o-5ea0sNMlW_75VgGJCv2AcJ", m);
try {
String etag = Etag.data("etag".getBytes(Constants.UTF_8));
Assert.assertEquals("FpLiADEaVoALPkdb8tJEJyRTXoe_", etag);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
public void testFile() throws IOException {
File f = TempFile.createFile(1024);
Assert.assertEquals("Foyl8onxBLWeRLL5oItRJphv6i4b", Etag.file(f));
TempFile.remove(f);
f = TempFile.createFile(4 * 1024);
Assert.assertEquals("FicHOveBNs5Kn9d74M3b9tI4D-8r", Etag.file(f));
TempFile.remove(f);
f = TempFile.createFile(5 * 1024);
Assert.assertEquals("lg-Eb5KFCuZn-cUfj_oS2PPOU9xy", Etag.file(f));
TempFile.remove(f);
f = TempFile.createFile(8 * 1024);
Assert.assertEquals("lkSKZOMToDp-EqLDVuT1pyjQssl-", Etag.file(f));
TempFile.remove(f);
f = TempFile.createFile(9 * 1024);
Assert.assertEquals("ljgVjMtyMsOgIySv79U8Qz4TrUO4", Etag.file(f));
TempFile.remove(f);
}
public void testLongToInt() {
long len = 2323435710l;
int b = (int) ((len + Configuration.BLOCK_SIZE - 1) / Configuration.BLOCK_SIZE);
Assert.assertEquals("不应该溢出", 554, b);
int a = (int) (len + Configuration.BLOCK_SIZE - 1) / Configuration.BLOCK_SIZE;
Assert.assertNotSame("预计会溢出", 554, a);
}
}