4 * This file is part of the Behat.
5 * (c) Konstantin Kudryashov <ever.zet@gmail.com>
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
11 namespace Behat\Behat\Context\ContextClass;
13 use Behat\Behat\Context\Suite\Setup\SuiteWithContextsSetup;
14 use Behat\Testwork\Suite\Suite;
17 * Generates context classes (as a string).
19 * @see SuiteWithContextsSetup
21 * @author Konstantin Kudryashov <ever.zet@gmail.com>
23 interface ClassGenerator
26 * Checks if generator supports provided context class.
29 * @param string $contextClass
33 public function supportsSuiteAndClass(Suite $suite, $contextClass);
36 * Generates context class code.
39 * @param string $contextClass
41 * @return string The context class source code
43 public function generateClass(Suite $suite, $contextClass);