def test_nsorted__reverse(self): ''' ''' for argument, expected in zip(self.arguments, self.expected): iterable = sortext.nsorted(argument, reverse=True) expected.reverse() self.assertEqual(iterable, expected)
def test_nsorted__key(self): ''' ''' argument = [('Screw', 'S100'), ('Bolt', 'B20'), ('Switch', 'S50')] expected = [('Bolt', 'B20'), ('Switch', 'S50'), ('Screw', 'S100')] iterable = sortext.nsorted(argument, key=itemgetter(1)) self.assertEqual(iterable, expected)
def get_aileron_detents(): ''' Get all aileron detents from all supported aircraft types :returns: list of detent values :rtype: list ''' detents = set() for x in mi.AILERON_MODEL_MAP, mi.AILERON_SERIES_MAP, mi.AILERON_FAMILY_MAP: detents.update(chain.from_iterable(x.itervalues())) return sortext.nsorted(detents)
def get_flap_detents(): ''' Get all flap combinations from all supported aircraft types :returns: list of detent values :rtype: list ''' detents = set() for x in mi.FLAP_MODEL_MAP, mi.FLAP_SERIES_MAP, mi.FLAP_FAMILY_MAP: detents.update(chain.from_iterable(x.itervalues())) return sortext.nsorted(detents)
def get_conf_detents(): ''' Get all conf combinations from all supported aircraft types :returns: list of detent values :rtype: list ''' extract = dict.iterkeys detents = set() for x in mi.CONF_MODEL_MAP, mi.CONF_SERIES_MAP, mi.CONF_FAMILY_MAP: detents.update(chain.from_iterable(imap(extract, x.itervalues()))) return sortext.nsorted(detents)
def get_lever_detents(): ''' Get all lever detents from all supported aircraft types :returns: list of detent values :rtype: list ''' extract = lambda x: (v[1] for v in x.iterkeys()) detents = set(map(str, get_flap_detents())) # initialise with flap detents for x in mi.LEVER_MODEL_MAP, mi.LEVER_SERIES_MAP, mi.LEVER_FAMILY_MAP: detents.update(chain.from_iterable(imap(extract, x.itervalues()))) detents.update(constants.LEVER_STATES.values()) # include conf lever states return sortext.nsorted(detents)
def get_lever_detents(): ''' Get all lever detents from all supported aircraft types :returns: list of detent values :rtype: list ''' extract = lambda x: (v[1] for v in x.iterkeys()) detents = set(map(str, get_flap_detents())) # initialise with flap detents for x in mi.LEVER_MODEL_MAP, mi.LEVER_SERIES_MAP, mi.LEVER_FAMILY_MAP: detents.update(chain.from_iterable(imap(extract, x.itervalues()))) detents.update( constants.LEVER_STATES.values()) # include conf lever states return sortext.nsorted(detents)
def test_nsorted(self): ''' ''' for argument, expected in zip(self.arguments, self.expected): iterable = sortext.nsorted(argument) self.assertEqual(iterable, expected)