Skip to content

Commit dfeb3dd

Browse files
committed
more tests
1 parent 633c8fa commit dfeb3dd

File tree

4 files changed

+111
-10
lines changed

4 files changed

+111
-10
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package test;
2+
3+
public @interface Reflect {
4+
5+
}

sources/net.sf.j2s.java.core/src/test/Test_.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ private int test3() {
9797

9898
public static void main(String[] args) {
9999

100+
100101
int val = new Test_().test3();
101102
assert (val == 13 || val == 4);
102103

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
package test;
2+
3+
import java.awt.Shape;
4+
import java.awt.geom.AffineTransform;
5+
import java.awt.geom.Rectangle2D;
6+
7+
public class Test_Affine extends Test_ {
8+
9+
static void testTransform() {
10+
double px = 87;
11+
double py = 33;
12+
double ar = 0.3;
13+
double theta = Math.PI / 3.2;
14+
Shape temp = new Rectangle2D.Double(1, 2, 3, 4);
15+
16+
// original:
17+
18+
temp = AffineTransform.getTranslateInstance(-px, -py).createTransformedShape(temp);
19+
temp = AffineTransform.getScaleInstance(1, 1 / ar).createTransformedShape(temp);
20+
temp = AffineTransform.getRotateInstance(-theta).createTransformedShape(temp);
21+
temp = AffineTransform.getScaleInstance(1, ar).createTransformedShape(temp);
22+
temp = AffineTransform.getTranslateInstance(px, py).createTransformedShape(temp);
23+
System.out.println(((java.awt.geom.Path2D.Double) temp).getBounds2D());
24+
25+
//java.awt.geom.Rectangle2D$Double[x=-46.69756664428215,y=36.4809161227257,w=12.752972196426072,h=2.970603583150705]
26+
27+
System.out.println("---");
28+
29+
// using preConcatenate:
30+
31+
temp = new Rectangle2D.Double(1, 2, 3, 4);
32+
AffineTransform tr;
33+
tr = AffineTransform.getTranslateInstance(-px, -py);
34+
tr.preConcatenate(AffineTransform.getScaleInstance(1, 1 / ar));
35+
tr.preConcatenate(AffineTransform.getRotateInstance(-theta));
36+
tr.preConcatenate(AffineTransform.getScaleInstance(1, ar));
37+
tr.preConcatenate(AffineTransform.getTranslateInstance(px, py));
38+
temp = tr.createTransformedShape(temp);
39+
System.out.println(((java.awt.geom.Path2D.Double) temp).getBounds2D());
40+
41+
// java.awt.geom.Rectangle2D$Double[x=-46.697566644282126,y=36.48091612272571,w=12.752972196426079,h=2.970603583150698]
42+
43+
// Applying transforms in reverse order; only one new object
44+
45+
temp = new Rectangle2D.Double(1, 2, 3, 4);
46+
tr.setToTranslation(px, py);
47+
tr.scale(1, ar);
48+
tr.rotate(-theta);
49+
tr.scale(1, 1 / ar);
50+
tr.translate(-px, -py);
51+
temp = tr.createTransformedShape(temp);
52+
System.out.println(((java.awt.geom.Path2D.Double) temp).getBounds2D());
53+
54+
// java.awt.geom.Rectangle2D$Double[x=-46.697566644282126,y=36.4809161227257,w=12.752972196426079,h=2.970603583150698]
55+
56+
// test for DrawableGroup
57+
58+
AffineTransform at;
59+
at = new AffineTransform(tr);
60+
at.concatenate(AffineTransform.getRotateInstance(-theta, px, py));
61+
double xt = Math.sin(theta)*10;
62+
double yt = Math.cos(theta)*10;
63+
at.concatenate(AffineTransform.getTranslateInstance(xt, yt));
64+
System.out.println(at);
65+
66+
at.setTransform(tr);
67+
at.rotate(-theta, px, py);
68+
at.translate(xt, yt);
69+
70+
System.out.println(at);
71+
72+
System.out.println("///");
73+
}
74+
75+
76+
77+
78+
public static void main(String[] args) {
79+
80+
testTransform();
81+
System.out.println("Test_Affine OK");
82+
}
83+
84+
}

sources/net.sf.j2s.java.core/src/test/Test_Reflect.java

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ class Test_Reflect extends Test_ {
1616
public int[] testing;
1717
public Test_ test;
1818

19+
@Reflect
20+
public int[] testIntArray() {
21+
return new int[3];
22+
}
23+
1924
public void test(char i, String s) {
2025
System.out.println("testchar " + i);assert(s.equals("char"));
2126
}
@@ -96,8 +101,16 @@ public void test(String s, float[][] aaf) {
96101

97102
public static void main(String[] args) {
98103

104+
Method[] m = Test_Reflect.class.getDeclaredMethods();
105+
int iii = m.length - 1;
106+
System.out.println(
107+
m[iii].getName() + "\t" + m[iii].getReturnType().getName()
108+
+ "\t" + m[iii].getReturnType().isArray());
109+
110+
System.out.println("????");
111+
99112
List<String> list = new ArrayList<>();
100-
Map.Entry<String, Integer>entry = new Map.Entry<String, Integer>(){
113+
Map.Entry<String, Integer> entry = new Map.Entry<String, Integer>() {
101114

102115
@Override
103116
public String getKey() {
@@ -116,15 +129,12 @@ public Integer setValue(Integer value) {
116129
// TODO Auto-generated method stub
117130
return null;
118131
}
119-
132+
120133
};
121-
Method[] m = Map.Entry.class.getDeclaredMethods();
122-
for (int i = 0; i < m.length; i++)
123-
System.out.println(m[i].getName() + "\t" + m[i].getReturnType().getName());
124-
125-
126-
127-
134+
// Method[] m = Map.Entry.class.getDeclaredMethods();
135+
// for (int i = 0; i < m.length; i++)
136+
// System.out.println(m[i].getName() + "\t" + m[i].getReturnType().getName() + "\t" + m[i].getReturnType().isArray());
137+
128138
new Test_Reflect().test("int[]", new int[] { 1, 2, 3 });
129139
String name = "";
130140
try {
@@ -205,7 +215,8 @@ public Integer setValue(Integer value) {
205215
try {
206216
Field[] fields = f.getDeclaredFields();
207217
for (int i = 0; i < fields.length; i++)
208-
System.out.println("declaredField " + i + ": " + fields[i].getName() + " " + fields[i].get(t) + " as " + fields[i].getType().getName());
218+
System.out.println("declaredField " + i + ": " + fields[i].getName() + " " + fields[i].get(t) + " as "
219+
+ fields[i].getType().getName());
209220
f.getField("s").set(t, "news");
210221
System.out.println("t.s=" + t.s);
211222
assert (t.s.equals("news"));

0 commit comments

Comments
 (0)