/** * Tests deepsight_datatable_usersetuser_base::get_userset_subsets * @dataProvider dataprovider_get_userset_subsets * @param int $parentuserset The ID of a userset to pass to the function as the parent userset ID. * @param bool $includeparent Whether to include the parent ID in the return array. * @param array $expectedresults The expected return value. */ public function test_get_userset_subsets($parentuserset, $includeparent, $expectedresults) { $dataset = $this->createCsvDataSet(array(user::TABLE => elispm::file('tests/fixtures/deepsight_user.csv'), userset::TABLE => elispm::file('tests/fixtures/deepsight_usersetwithsubsets.csv'))); $this->loadDataSet($dataset); accesslib_clear_all_caches(true); // Set up contexts. for ($i = 1; $i <= 6; $i++) { $ctx = \local_elisprogram\context\userset::instance($i); } accesslib_clear_all_caches(true); $actualresults = deepsight_datatable_standard::get_userset_subsets($parentuserset, $includeparent); $this->assertEquals($expectedresults, array_keys($actualresults)); }