def METHOD_NAME(self):
    self.install.reassign_word('install', 'subcommand')
    self.install.set_install()
    self.install2.reassign_word('install', 'subcommand')
    self.install2.set_install()
    self.remove.reassign_word('purge', 'subcommand')
    self.remove.set_remove()
    # merge the second install into the first install
    self.assertTrue(self.install.merge(self.install2))
    self.assertTrue(self.install.words, ['git', 'ca-certificates'])
    # merge the remove command
    self.assertTrue(self.install.merge(self.remove))
    self.assertTrue(self.install.words, ['ca-certificates'])
    # try to merge the download command
    self.assertFalse(self.install.merge(self.download))
    # try to merge an ignored command
    self.download.set_ignore()
    self.assertFalse(self.install.merge(self.download))
    # try to merge some other object
    with self.assertRaises(TypeError):
        self.install.merge('test')