diff --git a/python/ee/ee_types.py b/python/ee/ee_types.py index 6d9848ea3..ea47cf58c 100644 --- a/python/ee/ee_types.py +++ b/python/ee/ee_types.py @@ -77,7 +77,7 @@ def isSubtype(firstType: str, secondType: str) -> bool: 'Collection', 'ImageCollection', 'FeatureCollection') elif firstType in ('FeatureCollection', 'Collection'): return secondType in ('Collection', 'ImageCollection', 'FeatureCollection') - elif firstType == object: + elif firstType == 'Object': return True else: return False diff --git a/python/ee/tests/ee_types_test.py b/python/ee/tests/ee_types_test.py index 3fe6b8e60..28d40670e 100644 --- a/python/ee/tests/ee_types_test.py +++ b/python/ee/tests/ee_types_test.py @@ -4,12 +4,13 @@ import datetime import unittest +from ee import apitestcase from ee import ee_list from ee import ee_number from ee import ee_types -class EeTypesTest(unittest.TestCase): +class EeTypesTest(apitestcase.ApiTestCase): def test_class_to_name(self): self.assertEqual('List', ee_types.classToName(ee_list.List)) @@ -27,6 +28,22 @@ class Foo: self.assertEqual('Object', ee_types.classToName(Foo)) + def test_is_subtype(self): + self.assertTrue(ee_types.isSubtype('Image', 'Image')) + self.assertTrue(ee_types.isSubtype('Element', 'Image')) + self.assertTrue(ee_types.isSubtype('Collection', 'ImageCollection')) + self.assertTrue(ee_types.isSubtype('FeatureCollection', 'ImageCollection')) + self.assertTrue(ee_types.isSubtype('Object', 'Image')) + self.assertFalse(ee_types.isSubtype('Image', 'Element')) + + def test_is_array(self): + self.assertTrue(ee_types.isArray([])) + self.assertTrue(ee_types.isArray(())) + self.assertTrue(ee_types.isArray(ee_list.List([1, 2]))) + self.assertFalse(ee_types.isArray(1)) + self.assertFalse(ee_types.isArray('string')) + self.assertFalse(ee_types.isArray(ee_number.Number(1))) + if __name__ == '__main__': unittest.main()