def assertFetchSpecificFieldsWithEmptyList(self, section):
        """
        Assert that the provided C{BODY} section, when invoked with no
        arguments, produces an empty list, and that it returns a
        L{Deferred} which fires with a C{dict} mapping message
        sequence numbers to C{list}s of corresponding message data
        given by the server's response.

        @param section: The C{BODY} section to test: either
            C{'HEADER.FIELDS'} or C{'HEADER.FIELDS.NOT'}
        @type section: L{str}
        """
        d = self.client.fetchSpecific('10', headerType=section)
        self.assertEqual(
            self.transport.value(),
            b'0001 FETCH 10 BODY[' + section.encode('ascii') + b' ()]\r\n')
        # It's unclear what the response would look like - would it be
        # an empty string?  No IMAP server parses an empty list of headers
        self.client.lineReceived(
            b'* 10 FETCH (BODY[' + section.encode('ascii') + b' ()] "")')
        self.client.lineReceived(b'0001 OK FETCH completed')
        self.assertEqual(
            self.successResultOf(d),
            {10: [['BODY', [section, []], ""]]})

        Assert that the provided C{BODY} section, when invoked with no
        arguments, produces an empty list, and that it returns a
        L{Deferred} which fires with a C{dict} mapping message
        sequence numbers to C{list}s of corresponding message data
        given by the server's response.

        @param section: The C{BODY} section to test: either
            C{'HEADER.FIELDS'} or C{'HEADER.FIELDS.NOT'}
        @type section: L{str}
        
stackoverflow/venv/lib/python3.6/site-packages/twisted/mail/test/test_imap.py