def METHOD_NAME(self):
    """Check if the scheduling works."""
    # The plugin should be defined
    self.assertIn('schedule', registry.plugins)
    plg = registry.plugins['schedule']
    self.assertTrue(plg)
    # check that the built-in function is running
    self.assertEqual(plg.member_func(), False)
    # check that the tasks are defined
    self.assertEqual(plg.get_task_names(), ['plugin.schedule.member', 'plugin.schedule.hello', 'plugin.schedule.world'])
    # register
    plg.register_tasks()
    # check that schedule was registers
    from django_q.models import Schedule
    scheduled_plugin_tasks = Schedule.objects.filter(name__istartswith="plugin.")
    self.assertEqual(len(scheduled_plugin_tasks), 3)
    # test updating the schedule
    hello_schedule = Schedule.objects.get(name='plugin.schedule.hello')
    self.assertEqual(hello_schedule.minutes, 45)
    # change the schedule and reregister
    plg.scheduled_tasks['hello']['minutes'] = 15
    plg.register_tasks()
    # Check that the schedule was updated
    hello_schedule = Schedule.objects.get(name='plugin.schedule.hello')
    scheduled_plugin_tasks = Schedule.objects.filter(name__istartswith="plugin.")
    self.assertEqual(hello_schedule.minutes, 15)
    self.assertEqual(len(scheduled_plugin_tasks), 3)
    # delete middle task
    # this is to check the system also deals with disappearing tasks
    scheduled_plugin_tasks[1].delete()
    # there should be one less now
    scheduled_plugin_tasks = Schedule.objects.filter(name__istartswith="plugin.")
    self.assertEqual(len(scheduled_plugin_tasks), 2)
    # test unregistering
    plg.unregister_tasks()
    scheduled_plugin_tasks = Schedule.objects.filter(name__istartswith="plugin.")
    self.assertEqual(len(scheduled_plugin_tasks), 0)