mirror of
https://github.com/moparisthebest/JdbcMapper
synced 2024-08-13 16:53:55 -04:00
65 lines
1.6 KiB
Java
65 lines
1.6 KiB
Java
|
package com.moparisthebest.jdbc;
|
||
|
|
||
|
import com.moparisthebest.jdbc.dto.FinalDTO;
|
||
|
import org.junit.Before;
|
||
|
import org.junit.Test;
|
||
|
|
||
|
import static org.junit.Assert.assertTrue;
|
||
|
import static org.junit.Assert.assertFalse;
|
||
|
|
||
|
/**
|
||
|
* This test ensures the way the java compiler in-lines final variables today
|
||
|
* is the same way it will in-line them tomorrow, since changes in this behavior
|
||
|
* might silently break classes that are filled with reflection.
|
||
|
*/
|
||
|
public class FinalTest {
|
||
|
|
||
|
private FinalDTO object;
|
||
|
|
||
|
@Before
|
||
|
public void before(){
|
||
|
object = new FinalDTO();
|
||
|
assertTrue(object.directEqualsReflection());
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void testFinalPrimitiveLongDirectCantBeSet() {
|
||
|
assertFalse(object.setField("finalPrimitiveLongDirect", 1L));
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void testFinalStringDirectCantBeSet() {
|
||
|
assertFalse(object.setField("finalStringDirect", "1"));
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void testEffectiveFinalPrimitiveLongDirectCanBeSet() {
|
||
|
assertTrue(object.setField("effectiveFinalPrimitiveLongDirect", 1L));
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void testEffectiveFinalStringDirectCanBeSet() {
|
||
|
assertTrue(object.setField("effectiveFinalStringDirect", "1"));
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void testFinalPrimitiveLongConstructorCanBeSet() {
|
||
|
assertTrue(object.setField("finalPrimitiveLongConstructor", 1L));
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void testFinalStringConstructorCanBeSet() {
|
||
|
assertTrue(object.setField("finalStringConstructor", "1"));
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void testFinalLongDirectCanBeSet() {
|
||
|
assertTrue(object.setField("finalLongDirect", 1L));
|
||
|
}
|
||
|
|
||
|
@Test
|
||
|
public void testFinalLongConstructorCanBeSet() {
|
||
|
assertTrue(object.setField("finalLongConstructor", 1L));
|
||
|
}
|
||
|
}
|