This question evaluates a candidate's ability to design memory-efficient Python generators, perform input validation and edge-case handling (None values, non-integers, duplicates), and author comprehensive unit tests within the Data Manipulation (SQL/Python) domain.
Given a list of integers, write a Python generator that yields the integers from the list while handling edge cases such as None values, empty input, duplicates, very large inputs (avoid loading everything into memory at once), and non-integer items. Clearly define and document the behavior for None and invalid items (e.g., skip, convert, or raise). Write comprehensive unit tests covering normal paths and edge cases, including input validation, iteration order, resource usage, and error handling.