def METHOD_NAME(self):
    """
    Test :func:`colour.appearance.llab.XYZ_to_LLAB` definition.
    Notes
    -----
    -   The test values have been generated from data of the following file
        by *Fairchild (2013)*:
        http://rit-mcsl.org/fairchild//files/AppModEx.xls
    """
    with mock.patch(
        "colour.appearance.llab.MATRIX_RGB_TO_XYZ_LLAB",
        np.around(np.linalg.inv(llab.MATRIX_XYZ_TO_RGB_LLAB), decimals=4),
    ):
        XYZ = np.array([19.01, 20.00, 21.78])
        XYZ_0 = np.array([95.05, 100.00, 108.88])
        Y_b = 20
        L = 318.31
        surround = VIEWING_CONDITIONS_LLAB[
            "Reference Samples & Images, Average Surround, Subtending < 4"
        ]
        np.testing.assert_allclose(
            XYZ_to_LLAB(XYZ, XYZ_0, Y_b, L, surround),
            np.array([37.37, 0.01, 229.5, 0, 0.02, np.nan, -0.01, -0.01]),
            rtol=0.01,
            atol=0.01,
        )
        XYZ = np.array([57.06, 43.06, 31.96])
        L = 31.83
        np.testing.assert_allclose(
            XYZ_to_LLAB(XYZ, XYZ_0, Y_b, L, surround),
            np.array(
                [61.26, 30.51, 22.3, 0.5, 56.55, np.nan, 52.33, 21.43]
            ),
            rtol=0.01,
            atol=0.01,
        )
        XYZ = np.array([3.53, 6.56, 2.14])
        XYZ_0 = np.array([109.85, 100.00, 35.58])
        L = 318.31
        np.testing.assert_allclose(
            XYZ_to_LLAB(XYZ, XYZ_0, Y_b, L, surround),
            np.array(
                [16.25, 30.43, 173.8, 1.87, 53.83, np.nan, -53.51, 5.83]
            ),
            rtol=0.01,
            atol=0.01,
        )
        XYZ = np.array([19.01, 20.00, 21.78])
        L = 31.83
        np.testing.assert_allclose(
            XYZ_to_LLAB(XYZ, XYZ_0, Y_b, L, surround),
            np.array(
                [39.82, 29.34, 271.9, 0.74, 54.59, np.nan, 1.76, -54.56]
            ),
            rtol=0.01,
            atol=0.01,
        )