def test_exe(self):
        #setup
        factory = InstallerFactory()
        factory.with_extension('exe')

        #when
        result = factory.find()

        #then
        assert type(result) is CommandRunner
    def test_homebrew(self):
        #setup
        factory = InstallerFactory()
        factory.with_command('brew')

        #when
        result = factory.find()

        #then
        assert type(result) is HomebrewRunner
    def test_rar(self):
        #setup
        factory = InstallerFactory()
        factory.with_extension('rar')

        #when
        result = factory.find()

        #then
        assert type(result) is RarExtractor
    def test_choco(self):
        #setup
        factory = InstallerFactory()
        factory.with_command('choco')

        #when
        result = factory.find()

        #then
        assert type(result) is ChocoRunner
    def test_7z(self):
        #setup
        factory = InstallerFactory()
        factory.with_extension('7z')

        #when
        result = factory.find()

        #then
        assert type(result) is SevenZipExtractor