@Test
  public void testChannels() {
    TChronoTimer timer = new TChronoTimer();
    assertTrue(timer.powerOn());

    List<Channel> channels = timer.getChannels();
    assertTrue(channels != null);
    assertTrue(channels.size() == ChronoTimer.MAXIMUM_CHANNELS);
    int i = 1;
    for (Channel c : channels) {
      assertTrue(c != null);
      assertEquals(i, c.getID());
      assertEquals(SensorType.NONE, c.getSensorType());
      assertFalse(c.isEnabled());
      assertTrue(c.enable());
      // Test Channel enable/disable/connect
      for (int j = 0; j < 10; ++j) {
        SensorType s = SensorType.values()[(int) (Math.random() * SensorType.values().length)];
        c.setSensorType(s);
        assertEquals(s, c.getSensorType());
        c.setSensorType(SensorType.NONE);
        assertEquals(SensorType.NONE, c.getSensorType());
        assertTrue(timer.disconnect(i));
        assertFalse(c.isEnabled());
      }
      // Test ChronoTimer connect/disconnect
      for (int j = 0; j < 10; ++j) {
        SensorType s = SensorType.values()[(int) (Math.random() * SensorType.values().length)];
        assertTrue(timer.connect(s, i));
        assertFalse(c.isEnabled());
        assertTrue(c.enable());
        assertTrue(timer.disconnect(i));
      }
      ++i;
    }
  }