<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def new_group(self, checked=False, test_name=None):
 """Create a new channel group. Parameters checked : bool comes from QAbstractButton.clicked test_name : str used for testing purposes to avoid modal window Notes ----- Don't call self.apply() just yet, only if the user wants it. """

        chan_name = self.parent.labels.chan_name
        if chan_name is None:
            msg = 'No dataset loaded'
            self.parent.statusBar().showMessage(msg)
            lg.debug(msg)

        else:
            if test_name is None:
                new_name = QInputDialog.getText(self, 'New Channel Group',
                                                'Enter Name')
            else:
                new_name = [test_name, True]  # like output of getText

            if new_name[1]:
                s_freq = self.parent.info.dataset.header['s_freq']
                group = ChannelsGroup(chan_name, new_name[0],
                                      self.config.value, s_freq)
                self.tabs.addTab(group, new_name[0])
                self.tabs.setCurrentIndex(self.tabs.currentIndex() + 1)

                # activate buttons
                self.button_color.setEnabled(True)
                self.button_del.setEnabled(True)
                self.button_apply.setEnabled(True)