def test_ObservationValidator(self):
        import random

        from sciunit import Test
        from sciunit.validators import ObservationValidator

        long_test_list = [None] * 100
        for index in range(100):
            long_test_list[index] = random.randint(1, 1000)

        q = pq.Quantity([1, 2, 3], "ft")
        units = q.simplified.units
        units.name = "UnitName"
        testObj = Test(long_test_list)
        testObj.units = units
        obsVal = ObservationValidator(test=testObj)

        # test constructor
        self.assertRaises(BaseException, ObservationValidator)
        self.assertIsInstance(obsVal, ObservationValidator)

        # test _validate_iterable
        obsVal._validate_iterable(True, "key", long_test_list)
        self.assertRaises(
            BaseException,
            obsVal._validate_iterable,
            is_iterable=True,
            key="Test key",
            value=0,
        )

        # test _validate_units
        self.assertRaises(
            BaseException,
            obsVal._validate_units,
            has_units=True,
            key="Test Key",
            value="I am not units",
        )

        # units in test object is q.simplified.units
        obsVal._validate_units(has_units=True, key="TestKey", value=q)

        # units in test object is a dict
        testObj.units = {"TestKey": units}
        obsVal._validate_units(has_units=True, key="TestKey", value=q)

        print(
            "debug here..............................................................................."
        )
        # Units dismatch
        q2 = pq.Quantity([1], "J")
        self.assertRaises(
            BaseException,
            obsVal._validate_units,
            has_units=True,
            key="TestKey",
            value=q2,
        )