def test_from_dict_with_callbacks(self):
        from furious.async import Async

        job = ('test', None, None)
        callbacks = {
            'success': ("furious.tests.test_async."
                        "TestAsync.test_to_dict_with_callbacks"),
            'failure': "dir",
            'exec': {'job': ('dir', None, None), 'id': 'petey',
                     'parent_id': 'parentid'}
        }

        options = {'job': job, 'callbacks': callbacks, 'parent_id': 'parentid'}

        async_job = Async.from_dict(options)

        check_callbacks = {
            'success': TestAsync.test_to_dict_with_callbacks,
            'failure': dir
        }

        callbacks = async_job.get_callbacks()
        exec_callback = callbacks.pop('exec')

        correct_options = {'job': ('dir', None, None),
                           'id': 'petey',
                           'parent_id': 'parentid',
                           'context_id': None,
                           '_recursion': {'current': 0, 'max': 100},
                           '_type': 'furious.async.Async'}

        self.assertEqual(check_callbacks, callbacks)
        self.assertEqual(correct_options, exec_callback.to_dict())
Generate the bump basis functions for temporal readout of mu and sigma.
dataset/ETHPy150Open Workiva/furious/furious/tests/test_async.py/TestAsync.test_from_dict_with_callbacks--crossover with--dataset/ETHPy150Open Sohl-Dickstein/Diffusion-Probabilistic-Models/model.py/DiffusionModel.generate_temporal_basis