Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions src/test/java/com/reandroid/arsc/array/SparseOffsetsArrayTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.reandroid.arsc.array;

import org.junit.Assert;
import org.junit.Test;

public class SparseOffsetsArrayTest {
@Test
public void testSetOffset() {
//offsets are encoded is 16-bit, real_offset = offset * 4
final SparseOffsetsArray sparseArr = new SparseOffsetsArray();

final int offset = 0x10;
final int index = 0x0000;

//put data
final int data = ((offset / 4) << 16) | index;
sparseArr.set(new int[]{ data });
Assert.assertEquals(offset, sparseArr.getOffset(0));

//test setOffset
sparseArr.clear();
sparseArr.setSize(1);
sparseArr.setOffset(0, offset);
Assert.assertEquals(offset, sparseArr.getOffset(0));
}
}
32 changes: 32 additions & 0 deletions src/test/java/com/reandroid/arsc/value/AttributeTypeTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.reandroid.arsc.value;

import org.junit.Assert;
import org.junit.Test;

public class AttributeTypeTest {
private final static AttributeType[] PLURALS = new AttributeType[]{
AttributeType.OTHER,
AttributeType.ZERO,
AttributeType.ONE,
AttributeType.TWO,
AttributeType.FEW,
AttributeType.MANY
};
private final static AttributeType[] NON_PLURALS = new AttributeType[]{
AttributeType.FORMATS,
AttributeType.MIN,
AttributeType.MAX,
AttributeType.L10N
};

@Test
public void testIsPlural() {
for(AttributeType type : PLURALS) {
Assert.assertTrue(type.isPlural());
}

for(AttributeType type : NON_PLURALS) {
Assert.assertFalse(type.isPlural());
}
}
}
48 changes: 48 additions & 0 deletions src/test/java/com/reandroid/arsc/value/ValueTypeTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package com.reandroid.arsc.value;

import org.junit.Assert;
import org.junit.Test;

public class ValueTypeTest {
private static final ValueType[] ALL = ValueType.values();

@Test
public void testIsColor() {
for(ValueType type : ALL) {
Assert.assertEquals(isColor(type), type.isColor());
}
}

@Test
public void testIsInteger() {
for(ValueType type : ALL) {
Assert.assertEquals(isInteger(type), type.isInteger());
}
}

@Test
public void testIsReference() {
for(ValueType type : ALL) {
Assert.assertEquals(isReference(type), type.isReference());
}
}

private static boolean isColor(ValueType valueType) {
return valueType == ValueType.COLOR_ARGB8
|| valueType == ValueType.COLOR_RGB8
|| valueType == ValueType.COLOR_ARGB4
|| valueType == ValueType.COLOR_RGB4;
}

private static boolean isInteger(ValueType valueType) {
return valueType == ValueType.DEC
|| valueType == ValueType.HEX;
}

private static boolean isReference(ValueType valueType) {
return valueType == ValueType.REFERENCE
|| valueType == ValueType.ATTRIBUTE
|| valueType == ValueType.DYNAMIC_REFERENCE
|| valueType == ValueType.DYNAMIC_ATTRIBUTE;
}
}