@ -2271,9 +2271,10 @@ public class NanoTest extends TestCase {
public void testNanoWithAccessorsBasic ( ) throws Exception {
TestNanoAccessors msg = new TestNanoAccessors ( ) ;
// Makes sure required and repeated fields are still public fields
// Makes sure required, repeated, and message fields are still public
msg . id = 3 ;
msg . repeatedBytes = new byte [ 2 ] [ 3 ] ;
msg . optionalNestedMessage = null ;
// Test accessors
assertEquals ( 0 , msg . getOptionalInt32 ( ) ) ;
@ -2295,10 +2296,6 @@ public class NanoTest extends TestCase {
msg . setOptionalString ( null ) ;
fail ( ) ;
} catch ( NullPointerException expected ) { }
try {
msg . setOptionalNestedMessage ( null ) ;
fail ( ) ;
} catch ( NullPointerException expected ) { }
// Test has bit on bytes field with defaults and clear() re-clones the default array
assertFalse ( msg . hasDefaultBytes ( ) ) ;
@ -2352,8 +2349,8 @@ public class NanoTest extends TestCase {
assertFalse ( msg . hasDefaultBytes ( ) ) ;
assertFalse ( msg . hasDefaultFloatNan ( ) ) ;
assertFalse ( msg . hasDefaultNestedEnum ( ) ) ;
msg . setOptionalNestedMessage ( new TestNanoAccessors . NestedMessage ( ) ) ;
msg . getOptionalNestedMessage ( ) . setBb ( 2 ) ;
msg . optionalNestedMessage = new TestNanoAccessors . NestedMessage ( ) ;
msg . optionalNestedMessage . setBb ( 2 ) ;
msg . setOptionalNestedEnum ( TestNanoAccessors . BAZ ) ;
msg . setDefaultInt32 ( msg . getDefaultInt32 ( ) ) ;
}
@ -2366,8 +2363,8 @@ public class NanoTest extends TestCase {
// Has fields true upon parse.
TestNanoAccessors newMsg = TestNanoAccessors . parseFrom ( result ) ;
assertEquals ( 2 , newMsg . getOptionalNestedMessage ( ) . getBb ( ) ) ;
assertTrue ( newMsg . getOptionalNestedMessage ( ) . hasBb ( ) ) ;
assertEquals ( 2 , newMsg . optionalNestedMessage . getBb ( ) ) ;
assertTrue ( newMsg . optionalNestedMessage . hasBb ( ) ) ;
assertEquals ( TestNanoAccessors . BAZ , newMsg . getOptionalNestedEnum ( ) ) ;
assertTrue ( newMsg . hasOptionalNestedEnum ( ) ) ;
@ -2376,6 +2373,38 @@ public class NanoTest extends TestCase {
assertEquals ( 41 , newMsg . getDefaultInt32 ( ) ) ;
}
public void testNanoWithAccessorsPublicFieldTypes ( ) throws Exception {
TestNanoAccessors msg = new TestNanoAccessors ( ) ;
assertNull ( msg . optionalNestedMessage ) ;
assertEquals ( 0 , msg . id ) ;
assertEquals ( 0 , msg . repeatedNestedEnum . length ) ;
TestNanoAccessors newMsg = TestNanoAccessors . parseFrom ( MessageNano . toByteArray ( msg ) ) ;
assertNull ( newMsg . optionalNestedMessage ) ;
assertEquals ( 0 , newMsg . id ) ;
assertEquals ( 0 , newMsg . repeatedNestedEnum . length ) ;
TestNanoAccessors . NestedMessage nestedMessage = new TestNanoAccessors . NestedMessage ( ) ;
nestedMessage . setBb ( 5 ) ;
newMsg . optionalNestedMessage = nestedMessage ;
newMsg . id = - 1 ;
newMsg . repeatedNestedEnum = new int [ ] { TestAllTypesNano . FOO } ;
TestNanoAccessors newMsg2 = TestNanoAccessors . parseFrom ( MessageNano . toByteArray ( newMsg ) ) ;
assertEquals ( nestedMessage . getBb ( ) , newMsg2 . optionalNestedMessage . getBb ( ) ) ;
assertEquals ( - 1 , newMsg2 . id ) ;
assertEquals ( TestAllTypesNano . FOO , newMsg2 . repeatedNestedEnum [ 0 ] ) ;
newMsg2 . optionalNestedMessage = null ;
newMsg2 . id = 0 ;
newMsg2 . repeatedNestedEnum = null ;
TestNanoAccessors newMsg3 = TestNanoAccessors . parseFrom ( MessageNano . toByteArray ( newMsg2 ) ) ;
assertNull ( newMsg3 . optionalNestedMessage ) ;
assertEquals ( 0 , newMsg3 . id ) ;
assertEquals ( 0 , newMsg3 . repeatedNestedEnum . length ) ;
}
public void testNanoWithAccessorsSerialize ( ) throws Exception {
TestNanoAccessors msg = new TestNanoAccessors ( ) ;
msg . setOptionalInt32 ( msg . getOptionalInt32 ( ) ) ;
@ -2383,7 +2412,7 @@ public class NanoTest extends TestCase {
msg . setOptionalBytes ( msg . getOptionalBytes ( ) ) ;
TestNanoAccessors . NestedMessage nestedMessage = new TestNanoAccessors . NestedMessage ( ) ;
nestedMessage . setBb ( nestedMessage . getBb ( ) ) ;
msg . setOptionalNestedMessage ( nestedMessage ) ;
msg . optionalNestedMessage = nestedMessage ;
msg . setOptionalNestedEnum ( msg . getOptionalNestedEnum ( ) ) ;
msg . setDefaultInt32 ( msg . getDefaultInt32 ( ) ) ;
msg . setDefaultString ( msg . getDefaultString ( ) ) ;
@ -2400,8 +2429,7 @@ public class NanoTest extends TestCase {
assertTrue ( newMsg . hasOptionalInt32 ( ) ) ;
assertTrue ( newMsg . hasOptionalString ( ) ) ;
assertTrue ( newMsg . hasOptionalBytes ( ) ) ;
assertTrue ( newMsg . hasOptionalNestedMessage ( ) ) ;
assertTrue ( newMsg . getOptionalNestedMessage ( ) . hasBb ( ) ) ;
assertTrue ( newMsg . optionalNestedMessage . hasBb ( ) ) ;
assertTrue ( newMsg . hasOptionalNestedEnum ( ) ) ;
assertTrue ( newMsg . hasDefaultInt32 ( ) ) ;
assertTrue ( newMsg . hasDefaultString ( ) ) ;
@ -2411,7 +2439,7 @@ public class NanoTest extends TestCase {
assertEquals ( 0 , newMsg . getOptionalInt32 ( ) ) ;
assertEquals ( 0 , newMsg . getOptionalString ( ) . length ( ) ) ;
assertEquals ( 0 , newMsg . getOptionalBytes ( ) . length ) ;
assertEquals ( 0 , newMsg . getOptionalNestedMessage ( ) . getBb ( ) ) ;
assertEquals ( 0 , newMsg . optionalNestedMessage . getBb ( ) ) ;
assertEquals ( TestNanoAccessors . FOO , newMsg . getOptionalNestedEnum ( ) ) ;
assertEquals ( 41 , newMsg . getDefaultInt32 ( ) ) ;
assertEquals ( "hello" , newMsg . getDefaultString ( ) ) ;
@ -2856,15 +2884,15 @@ public class NanoTest extends TestCase {
. setOptionalInt32 ( 5 )
. setOptionalString ( "Hello" )
. setOptionalBytes ( new byte [ ] { 1 , 2 , 3 } )
. setOptionalNestedMessage ( new TestNanoAccessors . NestedMessage ( ) . setBb ( 27 ) )
. setOptionalNestedEnum ( TestNanoAccessors . BAR )
. setDefaultFloatNan ( 1 . 0f ) ;
message . optionalNestedMessage = new TestNanoAccessors . NestedMessage ( ) . setBb ( 27 ) ;
message . repeatedInt32 = new int [ ] { 5 , 6 , 7 , 8 } ;
message . repeatedString = new String [ ] { "One" , "Two" } ;
message . repeatedBytes = new byte [ ] [ ] { { 2 , 7 } , { 2 , 7 } } ;
message . repeatedNestedMessage = new TestNanoAccessors . NestedMessage [ ] {
message . getOptionalNestedMessage ( ) ,
message . getOptionalNestedMessage ( )
message . optionalNestedMessage ,
message . optionalNestedMessage
} ;
message . repeatedNestedEnum = new int [ ] {
TestAllTypesNano . BAR ,