On Sat, Aug 1, 2009 at 8:11 PM, Tony Wu<wuyue...@gmail.com> wrote: > Hi, Nathan > I dont like assertion on byte arrays. The error message printed out by > junit is less readable than String when it fails.
That's a trivial problem to fix - write a helper method that does a better assert - i've written such a thing dozens of times. Not to mention, if you use JUnit 4 - this is no longer a problem = http://junit.org/apidocs/org/junit/Assert.html#assertArrayEquals%28byte[],%20byte[]%29 In addition, there's several hamcrest matchers for even better error descriptions. The dependency is there, it just needs to be used. -Nathan > What' more it's a > nightmare if you want to append or remove some bytes. > > On Sun, Aug 2, 2009 at 7:48 AM, Nathan Beyer<nbe...@gmail.com> wrote: >> On Sat, Aug 1, 2009 at 5:02 AM, Kevin Zhou<zhoukevi...@gmail.com> wrote: >>> Hi Nathan, >>> Yes. Actually I do try the String(byte[], String) on z/OS but still fail to >>> solve the previous failure. As I tested, the Socket on Z returns strings in >>> platform-dependent encoding, thus the String(byte[]) is adopted. >> >> Why is this even asserting with Strings? Shouldn't the assertions be >> using byte values for fixtures? >> >>> >>> On Sat, Aug 1, 2009 at 7:16 AM, Nathan Beyer <ndbe...@apache.org> wrote: >>> >>>> This code is now platform-dependant. The String(byte[]) assumes the >>>> bytes are encoded in the platform's default encoding. The code should >>>> really use String(byte[], String) with a specific encoding. >>>> >>>> -Nathan >>>> >>>> On Thu, Jul 30, 2009 at 10:29 PM, <zhouke...@apache.org> wrote: >>>> > Author: zhoukevin >>>> > Date: Fri Jul 31 03:29:46 2009 >>>> > New Revision: 799505 >>>> > >>>> > URL: http://svn.apache.org/viewvc?rev=799505&view=rev >>>> > Log: >>>> > Fix test failure of SocketTest.test_sendUrgentDataI method for z/OS. >>>> > >>>> > Modified: >>>> > >>>> harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java >>>> > >>>> > Modified: >>>> harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java >>>> > URL: >>>> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java?rev=799505&r1=799504&r2=799505&view=diff >>>> > >>>> ============================================================================== >>>> > --- >>>> harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java >>>> (original) >>>> > +++ >>>> harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java >>>> Fri Jul 31 03:29:46 2009 >>>> > @@ -1582,8 +1582,10 @@ >>>> > server.close(); >>>> > >>>> > receivedString = new String(myBytes, 0, totalBytesRead); >>>> > - assertEquals("Urgent data was not received with one urgent >>>> byte", >>>> > - sendString + (char) urgentByte + sendString, >>>> receivedString); >>>> > + assertEquals( >>>> > + "Urgent data was not received with one urgent byte", >>>> > + sendString + new String(new byte[] { urgentByte }) + >>>> sendString, >>>> > + receivedString); >>>> > >>>> > /* >>>> > * Test 3: Now validate that urgent data is received as expected. >>>> Expect >>>> > @@ -1634,7 +1636,8 @@ >>>> > >>>> > receivedString = new String(myBytes, 0, totalBytesRead); >>>> > assertEquals("Urgent data was not received with two urgent >>>> bytes", >>>> > - sendString + (char) urgentByte1 + (char) urgentByte2 >>>> > + sendString >>>> > + + new String(new byte[] { urgentByte1, >>>> urgentByte2 }) >>>> > + sendString, receivedString); >>>> > >>>> > /* >>>> > @@ -1663,8 +1666,8 @@ >>>> > client.close(); >>>> > server.close(); >>>> > >>>> > - assertEquals("Sole urgent data was not received", (int) >>>> urgentByte, >>>> > - byteRead); >>>> > + assertEquals("Sole urgent data was not received", >>>> > + (int) (urgentByte & 0xff), byteRead); >>>> > } >>>> > >>>> > /** >>>> > >>>> > >>>> > >>>> >>> >>> >>> >>> -- >>> Best regards, >>> Yours, Kevin Zhou >>> >> > > > > -- > Tony Wu > China Software Development Lab, IBM >