Skip to content

Commit eb7b037

Browse files
committed
Add tests to cover Transform
DEVSIX-3384
1 parent 420e938 commit eb7b037

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
package com.itextpdf.layout.property;
2+
3+
import com.itextpdf.kernel.geom.AffineTransform;
4+
5+
import org.junit.Assert;
6+
import org.junit.Test;
7+
8+
public class TransformTest {
9+
// AffineTransform.TYPE_UNKNOWN
10+
private static final float type = -1;
11+
12+
@Test
13+
public void createDefaultSingleTransformTest() {
14+
Transform.SingleTransform defaultSingleTransform = new Transform.SingleTransform();
15+
UnitValue[] defaultUnitValues = defaultSingleTransform.getUnitValues();
16+
Assert.assertArrayEquals(new float[] {1f, 0f, 0f, 1f}, defaultSingleTransform.getFloats(), 0);
17+
Assert.assertEquals(2, defaultUnitValues.length);
18+
Assert.assertEquals(UnitValue.createPointValue(0), defaultUnitValues[0]);
19+
Assert.assertEquals(UnitValue.createPointValue(0), defaultUnitValues[1]);
20+
}
21+
22+
@Test
23+
public void getAffineTransformPercentPointUnitValuesTest() {
24+
Assert.assertEquals(new AffineTransform(new float[] {-2f, 3f, -4f, -5f, 12f, 30f, type}),
25+
getAffineTransform(UnitValue.PERCENT, UnitValue.POINT));
26+
}
27+
28+
@Test
29+
public void getAffineTransformPointPercentUnitValuesTest() {
30+
Assert.assertEquals(new AffineTransform(new float[] {-2f, 3f, -4f, -5f, 20f, 24f, type}),
31+
getAffineTransform(UnitValue.POINT, UnitValue.PERCENT));
32+
}
33+
34+
@Test
35+
public void getAffineTransformPercentPercentUnitValuesTest() {
36+
Assert.assertEquals(new AffineTransform(new float[] {-2f, 3f, -4f, -5f, 12f, 24f, type}),
37+
getAffineTransform(UnitValue.PERCENT, UnitValue.PERCENT));
38+
}
39+
40+
@Test
41+
public void getAffineTransformPointPointUnitValuesTest() {
42+
Assert.assertEquals(new AffineTransform(new float[] {-2f, 3f, -4f, -5f, 20f, 30f, type}),
43+
getAffineTransform(UnitValue.POINT, UnitValue.POINT));
44+
}
45+
46+
@Test
47+
public void getAffineTransformDiffSingleTransformTest() {
48+
final float txUnitValue = 20f;
49+
final float tyUnitValue2 = 30f;
50+
Transform transform = new Transform(4);
51+
transform.addSingleTransform(createSingleTransform(UnitValue.createPercentValue(txUnitValue),
52+
UnitValue.createPointValue(tyUnitValue2)));
53+
transform.addSingleTransform(createSingleTransform(UnitValue.createPointValue(txUnitValue),
54+
UnitValue.createPercentValue(tyUnitValue2)));
55+
transform.addSingleTransform(
56+
createSingleTransform(UnitValue.createPercentValue(txUnitValue),
57+
UnitValue.createPercentValue(tyUnitValue2)));
58+
transform.addSingleTransform(createSingleTransform(UnitValue.createPointValue(txUnitValue),
59+
UnitValue.createPointValue(tyUnitValue2)));
60+
Assert.assertEquals(new AffineTransform(new float[] {-524f, -105f, 140f, -419f, -788f, 2220f, type}),
61+
Transform.getAffineTransform(transform, 60f, 80f));
62+
}
63+
64+
@Test
65+
public void getAffineTransformOneSingleTransformFewTimesTest() {
66+
Transform transform = new Transform(4);
67+
Transform.SingleTransform singleTransform = createSingleTransform(UnitValue.createPointValue(20f),
68+
UnitValue.createPointValue(30f));
69+
transform.addSingleTransform(singleTransform);
70+
transform.addSingleTransform(singleTransform);
71+
transform.addSingleTransform(singleTransform);
72+
transform.addSingleTransform(singleTransform);
73+
Assert.assertEquals(new AffineTransform(new float[] {-524f, -105f, 140f, -419f, -700f, 2100f, type}),
74+
Transform.getAffineTransform(transform, 60f, 60f));
75+
}
76+
77+
@Test
78+
public void getAffineTransformDifferentWidthHeightTest() {
79+
Transform transform = new Transform(1);
80+
transform.addSingleTransform(createSingleTransform(UnitValue.createPercentValue(20f),
81+
UnitValue.createPercentValue(30f)));
82+
Assert.assertEquals(new AffineTransform(new float[] {-2f, 3f, -4f, -5f, -10f, -6f, type}),
83+
Transform.getAffineTransform(transform, -50f, -20f));
84+
Assert.assertEquals(new AffineTransform(new float[] {-2f, 3f, -4f, -5f, 10f, -6f, type}),
85+
Transform.getAffineTransform(transform, 50f, -20f));
86+
Assert.assertEquals(new AffineTransform(new float[] {-2f, 3f, -4f, -5f, -10f, 6f, type}),
87+
Transform.getAffineTransform(transform, -50f, 20f));
88+
Assert.assertEquals(new AffineTransform(new float[] {-2f, 3f, -4f, -5f, 10f, 6f, type}),
89+
Transform.getAffineTransform(transform, 50f, 20f));
90+
}
91+
92+
private static AffineTransform getAffineTransform(int txUnitValueType, int tyUnitValueType) {
93+
final float txUnitValue = 20f;
94+
final float tyUnitValue = 30f;
95+
final float width = 60f;
96+
final float height = 80f;
97+
98+
// create Transform
99+
Transform transform = new Transform(1);
100+
transform.addSingleTransform(createSingleTransform(new UnitValue(txUnitValueType, txUnitValue),
101+
new UnitValue(tyUnitValueType, tyUnitValue)));
102+
103+
// get AffineTransform
104+
return Transform.getAffineTransform(transform, width, height);
105+
}
106+
107+
private static Transform.SingleTransform createSingleTransform(UnitValue xUnitVal, UnitValue yUnitVal) {
108+
final float a = -2f;
109+
final float b = 3f;
110+
final float c = -4f;
111+
final float d = -5f;
112+
return new Transform.SingleTransform(a, b, c, d, xUnitVal, yUnitVal);
113+
}
114+
}

0 commit comments

Comments
 (0)