public void testGetFields() {
   LocalTime test = new LocalTime(10, 20, 30, 40, COPTIC_UTC);
   DateTimeField[] fields = test.getFields();
   assertSame(COPTIC_UTC.hourOfDay(), fields[0]);
   assertSame(COPTIC_UTC.minuteOfHour(), fields[1]);
   assertSame(COPTIC_UTC.secondOfMinute(), fields[2]);
   assertSame(COPTIC_UTC.millisOfSecond(), fields[3]);
   assertNotSame(test.getFields(), test.getFields());
 }
  // -----------------------------------------------------------------------
  public void testSerialization() throws Exception {
    LocalTime test = new LocalTime(10, 20, 30, 40, COPTIC_PARIS);

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(baos);
    oos.writeObject(test);
    oos.close();
    byte[] bytes = baos.toByteArray();

    ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
    ObjectInputStream ois = new ObjectInputStream(bais);
    LocalTime result = (LocalTime) ois.readObject();
    ois.close();

    assertEquals(test, result);
    assertTrue(Arrays.equals(test.getValues(), result.getValues()));
    assertTrue(Arrays.equals(test.getFields(), result.getFields()));
    assertEquals(test.getChronology(), result.getChronology());
  }