| 638 | |
| 639 | |
| 640 | def test_optimize_nested(): |
| 641 | a = dask.delayed(inc)(1) |
| 642 | b = dask.delayed(inc)(a) |
| 643 | c = a + b |
| 644 | |
| 645 | result = optimize({"a": a, "b": [1, 2, b]}, (c, 2)) |
| 646 | |
| 647 | a2 = result[0]["a"] |
| 648 | b2 = result[0]["b"][2] |
| 649 | c2 = result[1][0] |
| 650 | |
| 651 | assert isinstance(a2, Delayed) |
| 652 | assert isinstance(b2, Delayed) |
| 653 | assert isinstance(c2, Delayed) |
| 654 | assert dict(a2.dask) == dict(b2.dask) == dict(c2.dask) |
| 655 | assert compute(*result) == ({"a": 2, "b": [1, 2, 3]}, (5, 2)) |
| 656 | |
| 657 | res = optimize([a, b], c, traverse=False) |
| 658 | assert res[0][0] is a |
| 659 | assert res[0][1] is b |
| 660 | assert res[1].compute() == 5 |
| 661 | |
| 662 | |
| 663 | def test_default_imports(): |