package jadx.tests.integration.arith; import jadx.core.dex.nodes.ClassNode; import jadx.tests.api.IntegrationTest; import java.util.Random; import org.junit.Test; import static org.hamcrest.CoreMatchers.containsString; import static org.junit.Assert.assertThat; public class TestFieldIncrement3 extends IntegrationTest { public static class TestCls { static int tileX; static int tileY; static Vector2 targetPos = new Vector2(); static Vector2 directVect = new Vector2(); static Vector2 newPos = new Vector2(); private static void test() { Random rd = new Random(); int direction = rd.nextInt(7); switch (direction) { case 0: targetPos.x = (float) (((tileX + 1) * 55) + 55); targetPos.y = (float) (((tileY + 1) * 35) + 35); break; case 2: targetPos.x = (float) (((tileX + 1) * 55) + 55); targetPos.y = (float) (((tileY - 1) * 35) + 35); break; case 4: targetPos.x = (float) (((tileX - 1) * 55) + 55); targetPos.y = (float) (((tileY - 1) * 35) + 35); break; case 6: targetPos.x = (float) (((tileX - 1) * 55) + 55); targetPos.y = (float) (((tileY + 1) * 35) + 35); break; default: break; } directVect.x = targetPos.x - newPos.x; directVect.y = targetPos.y - newPos.y; float hPos = (float) Math.sqrt((double) ((directVect.x * directVect.x) + (directVect.y * directVect.y))); directVect.x /= hPos; directVect.y /= hPos; } static class Vector2 { public float x; public float y; public Vector2() { this.x = 0.0f; this.y = 0.0f; } public boolean equals(Vector2 other) { return (this.x == other.x && this.y == other.y); } } } @Test public void test() { ClassNode cls = getClassNode(TestCls.class); String code = cls.getCode().toString(); assertThat(code, containsString("directVect.x = targetPos.x - newPos.x;")); } }