I have noticed #2641, but I'm a bit confused about FieldConverter, Does the user need to use it explicitly for the conversion?
Search before asking
Version
Latest
Component(s)
Java
Minimal reproduce step
static class Demo1 {
int f1;
int f2;
Integer f3;
Integer f4;
Integer f5;
Integer f6;
}
static class Demo2 {
int f1;
Integer f2;
Integer f3;
int f4;
int f5;
Integer f6;
}
@Test
public void testInteger2() {
Fory fory1 = Fory.builder().withLanguage(Language.XLANG).withCompatibleMode(CompatibleMode.COMPATIBLE).build();
fory1.register(Demo1.class, 101);
Fory fory2 = Fory.builder().withLanguage(Language.XLANG).withCompatibleMode(CompatibleMode.COMPATIBLE).build();
fory2.register(Demo2.class, 101);
Demo1 demo1 = new Demo1();
demo1.f1 = 1;
demo1.f2 = 2;
demo1.f3 = 3;
demo1.f4 = 4;
demo1.f5 = null;
demo1.f6 = null;
byte[] serialize = fory1.serialize(demo1);
Demo2 demo2 = (Demo2) fory2.deserialize(serialize);
Assert.assertEquals(demo2.f1, 1);
Assert.assertEquals(demo2.f2, 2);
Assert.assertEquals(demo2.f3, 3);
Assert.assertEquals(demo2.f4, 4);
Assert.assertEquals(demo2.f5, 0);
Assert.assertNull(demo2.f6);
}
What did you expect to see?
pass unit test
What did you see instead?
panic at Assert.assertEquals(demo2.f2, 2);
java.lang.AssertionError:
Expected :2
Actual :-448
<Click to see difference>
at org.testng.Assert.fail(Assert.java:110)
at org.testng.Assert.failNotEquals(Assert.java:1413)
at org.testng.Assert.assertEqualsImpl(Assert.java:149)
at org.testng.Assert.assertEquals(Assert.java:131)
at org.testng.Assert.assertEquals(Assert.java:1284)
at org.apache.fory.RustXlangTest.testInteger2(RustXlangTest.java:668)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:136)
at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:658)
at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:219)
at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)
at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:923)
at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:192)
at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)
at java.util.ArrayList.forEach(ArrayList.java:1259)
at org.testng.TestRunner.privateRun(TestRunner.java:808)
at org.testng.TestRunner.run(TestRunner.java:603)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:429)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:423)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:383)
at org.testng.SuiteRunner.run(SuiteRunner.java:326)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1249)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
at org.testng.TestNG.runSuites(TestNG.java:1092)
at org.testng.TestNG.run(TestNG.java:1060)
at com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:65)
at com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:105)
Anything Else?
No response
Are you willing to submit a PR?
I have noticed #2641, but I'm a bit confused about
FieldConverter, Does the user need to use it explicitly for the conversion?Search before asking
Version
Latest
Component(s)
Java
Minimal reproduce step
What did you expect to see?
pass unit test
What did you see instead?
panic at
Assert.assertEquals(demo2.f2, 2);Anything Else?
No response
Are you willing to submit a PR?