mirror of
https://github.com/google/earthengine-api.git
synced 2025-12-08 19:26:12 +00:00
90 lines
2.7 KiB
Python
90 lines
2.7 KiB
Python
#!/usr/bin/env python3
|
|
"""Tests for _utils decorators."""
|
|
|
|
import unittest
|
|
from ee import _utils
|
|
|
|
|
|
class EeElementStub:
|
|
|
|
@_utils.accept_opt_prefix('opt_arg1', ('opt_arg2', 'arg2_'))
|
|
def __init__(self, arg1=None, arg2_=None):
|
|
self.arg1 = arg1
|
|
self.arg2_ = arg2_
|
|
|
|
@_utils.accept_opt_prefix('opt_arg1', ('opt_arg2', 'arg2_'))
|
|
def test_method(self, arg1=None, arg2_=None):
|
|
return (arg1, arg2_)
|
|
|
|
|
|
class UtilsTest(unittest.TestCase):
|
|
|
|
def test_accept_opt_prefix_decorator_method(self):
|
|
# Test constructors decorated with accept_opt_prefix.
|
|
api = EeElementStub('a test arg', 'a new arg')
|
|
self.assertEqual('a test arg', api.arg1)
|
|
self.assertEqual('a new arg', api.arg2_)
|
|
|
|
api = EeElementStub(arg1='a test arg', arg2_='a new arg')
|
|
self.assertEqual('a test arg', api.arg1)
|
|
self.assertEqual('a new arg', api.arg2_)
|
|
|
|
# pylint: disable=unexpected-keyword-arg
|
|
# pytype: disable=wrong-keyword-args
|
|
api = EeElementStub(opt_arg1='a test arg', opt_arg2='a new arg')
|
|
self.assertEqual('a test arg', api.arg1)
|
|
self.assertEqual('a new arg', api.arg2_)
|
|
# pylint: enable=unexpected-keyword-arg
|
|
# pytype: enable=wrong-keyword-args
|
|
|
|
# Test methods decorated with accept_opt_prefix.
|
|
api = EeElementStub()
|
|
self.assertEqual(
|
|
('a test arg', 'a new arg'),
|
|
api.test_method('a test arg', 'a new arg'),
|
|
)
|
|
self.assertEqual(
|
|
('a test arg', 'a new arg'),
|
|
api.test_method(arg1='a test arg', arg2_='a new arg'),
|
|
)
|
|
self.assertEqual(
|
|
('a test arg', 'a new arg'),
|
|
# pylint: disable-next=unexpected-keyword-arg
|
|
api.test_method(opt_arg1='a test arg', opt_arg2='a new arg'),
|
|
)
|
|
|
|
# Test functions decorated with accept_opt_prefix.
|
|
@_utils.accept_opt_prefix('opt_arg1', ('opt_arg2', 'arg2_'))
|
|
def test_function(arg1=None, arg2_=None):
|
|
return (arg1, arg2_)
|
|
|
|
self.assertEqual(
|
|
('a test arg', 'a new arg'),
|
|
test_function('a test arg', 'a new arg'),
|
|
)
|
|
self.assertEqual(
|
|
('a test arg', 'a new arg'),
|
|
test_function(arg1='a test arg', arg2_='a new arg'),
|
|
)
|
|
self.assertEqual(
|
|
('a test arg', 'a new arg'),
|
|
# pylint: disable-next=unexpected-keyword-arg
|
|
test_function(opt_arg1='a test arg', opt_arg2='a new arg'),
|
|
)
|
|
# pylint: disable=unexpected-keyword-arg
|
|
# pytype: disable=wrong-keyword-args
|
|
self.assertEqual(
|
|
('a test arg', 'an overridden arg'),
|
|
test_function(
|
|
opt_arg1='a test arg',
|
|
opt_arg2='a new arg',
|
|
arg2_='an overridden arg',
|
|
),
|
|
)
|
|
# pylint: enable=unexpected-keyword-arg
|
|
# pytype: enable=wrong-keyword-args
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|