Tests for overlap of this filter with a spectrum

        Example of full overlap:

            |---------- spectrum ----------|
               |------ self ------|

        Examples of partial overlap: :

            |---------- self ----------|
               |------ spectrum ------|

            |---- spectrum ----|
               |----- self -----|

            |---- self ----|
               |---- spectrum ----|

        Examples of no overlap: :

            |---- spectrum ----|  |---- other ----|

            |---- other ----|  |---- spectrum ----|

        Parameters
        ----------
        spectrum: sequence
            The [W, F] spectrum with astropy units

        Returns
        -------
        ans : {'full', 'partial', 'none'}
            Overlap status.

def overlap(self, spectrum):
        """Tests for overlap of this filter with a spectrum

        Example of full overlap:

            |---------- spectrum ----------|
               |------ self ------|

        Examples of partial overlap: :

            |---------- self ----------|
               |------ spectrum ------|

            |---- spectrum ----|
               |----- self -----|

            |---- self ----|
               |---- spectrum ----|

        Examples of no overlap: :

            |---- spectrum ----|  |---- other ----|

            |---- other ----|  |---- spectrum ----|

        Parameters
        ----------
        spectrum: sequence
            The [W, F] spectrum with astropy units

        Returns
        -------
        ans : {'full', 'partial', 'none'}
            Overlap status.
        """
        swave = self.wave[np.where(self.throughput != 0)]
        s1, s2 = swave.min(), swave.max()

        owave = spectrum[0]
        o1, o2 = owave.min(), owave.max()

        if (s1 >= o1 and s2 <= o2):
            ans = 'full'

        elif (s2 < o1) or (o2 < s1):
            ans = 'none'

        else:
            ans = 'partial'

        return ans