<commit_before><?php

namespace MageMocker\Command;

use Symfony\Component\Console\Application;
use MageMocker\Command\ProductCommand;
use Zend\Stdlib\Hydrator\ClassMethods;
use MageMocker\Entity\ProductConfig;
use MageMocker\Service\ProductService;

class Mocker {

    protected $application;

    public function __construct(Application $application)
    {
        $this->application = $application;
        $this->application->add(new ProductCommand(
            new ClassMethods(),
            new ProductService(),
            new ProductConfig()
        ));


        $application->run();
    }

} <commit_msg>Add new command. Ideally this class should load all commands in this package which implement CommandInterface. Probably should be seperate factories for each command<commit_after><?php

namespace MageMocker\Command;

use Symfony\Component\Console\Application;
use Zend\Stdlib\Hydrator\ClassMethods;
use MageMocker\Command\ProductCommand;
use MageMocker\Entity\ProductConfig;
use MageMocker\Service\ProductService;
use MageMocker\Command\AddToCartCommand;
use MageMocker\Entity\AddToCartConfig;
use MageMocker\Service\AddToCartService;

/**
 * Class Mocker
 * @package MageMocker\Command
 * @author <NAME> <<EMAIL>>
 */
class Mocker {

    /**
     * @var \Symfony\Component\Console\Application
     */
    protected $application;

    /**
     * @param Application $application
     */
    public function __construct(Application $application)
    {
        $this->application = $application;
        $this->application->add(new ProductCommand(
            new ClassMethods(),
            new ProductService(),
            new ProductConfig()
        ));

        $this->application->add(new AddToCartCommand(
            new ClassMethods(),
            new AddToCartService(),
            new AddToCartConfig()
        ));

        $this->application->run();
    }

} 
{'fraction_non_alphanumeric': 0.10233297985153765, 'fraction_numerical': 0.0, 'mean_word_length': 3.0844155844155843, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2994519', 'n_tokens_mistral': 518, 'n_tokens_neox': 494, 'n_words': 113}