fn () => new Router(), Group::class => fn () => new Group(new Router(), null), Route::class => fn () => new Route(HttpMethod::Get, fn () => null), ]; test(':dataset has middleware', function ($inst) { $inst->addMiddleware($mw1 = new TestMiddleware()); expect($inst->getMiddleware()) ->toHaveCount(1) ->{0}->toBe($mw1); })->with($classes); test(':dataset adds array of middleware', function ($inst) { $inst->addMiddleware([ $mw1 = new TestMiddleware(), $mw2 = new TestMiddleware(), ]); expect($inst->getMiddleware()) ->toHaveCount(2) ->{0}->toBe($mw1) ->{1}->toBe($mw2); })->with($classes);