public TempHiLo(TemperatureSensor theSensor, AlarmClock theAlarmClock) {
    itsAlarmClock = theAlarmClock;
    itsSensor = theSensor;

    // construct the data object
    Date d = new Date();
    double sensorValue = itsSensor.read();
    itsData = wmsdata.Scope.itsDataToolkit.getTempHiLoData(d, sensorValue);

    // register for the 24 hour data
    AlarmListener al =
        new AlarmListener() {
          public void wakeUp() {
            newDay();
          }
        };
    itsAlarmClock.wakeEveryDay(al);

    // register for changes in the sensor
    Observer o =
        new Observer() {
          public void update(Observable ob, Object anObject) {
            Double val = (Double) anObject;
            itsData.currentReading(val.doubleValue(), System.currentTimeMillis());
          }
        };
    itsSensor.addObserver(o);
  }
 public void testSetAlarm() throws Exception {
   AlarmClockManager.addAlarm(mContext);
   Uri uri = AlarmClockManager.addAlarm(mContext);
   int alarmId = Integer.valueOf(uri.getPathSegments().get(1));
   AlarmClockManager.addAlarm(mContext);
   AlarmClock.DaysOfWeek daysOfWeek = new AlarmClock.DaysOfWeek();
   daysOfWeek
       .addDay(Calendar.MONDAY)
       .addDay(Calendar.TUESDAY)
       .addDay(Calendar.WEDNESDAY)
       .addDay(Calendar.THURSDAY);
   AlarmClockManager.setAlarm(mContext, alarmId, true, 12, 30, 0, "label", daysOfWeek);
   Cursor cursor = AlarmClockManager.getAlarmCursor(mContext, alarmId);
   assertEquals(cursor.getInt(AlarmClock.Column.ALARM_ID.ordinal()), alarmId);
   AlarmClock alarmClock = AlarmClockManager.getAlarm(mContext, alarmId);
   Log.d(MyActivity.LOG_TAG, alarmClock.toString());
   assertEquals(alarmClock.hour, 12);
   assertEquals(alarmClock.minute, 30);
   assertEquals(alarmClock.second, 0);
   assertEquals(alarmClock.label, "label");
   assertEquals(alarmClock.enable, true);
   assertEquals(alarmClock.daysOfWeek.toInt(), daysOfWeek.toInt());
 }