Google Earth Engine Authors cdfe00b9d8 v0.1.388
PiperOrigin-RevId: 601829646
2024-01-31 22:47:46 +00:00

88 lines
2.2 KiB
Python

#!/usr/bin/env python3
"""Tests for the ee.Join module."""
import json
import ee
from ee import apitestcase
import unittest
INNER = 'Join.inner'
SIMPLE = 'Join.simple'
class JoinTest(apitestcase.ApiTestCase):
def test_simple_join(self):
join = ee.Join.simple()
self.assertEqual({'value': 'fakeValue'}, join.getInfo())
join_func = ee.ApiFunction.lookup(SIMPLE)
self.assertEqual(join_func, join.func)
self.assertFalse(join.isVariable())
self.assertEqual(
{},
join.args,
)
result = json.loads(join.serialize())
expect = {
'result': '0',
'values': {
'0': {
'functionInvocationValue': {
'arguments': {},
'functionName': SIMPLE,
}
}
},
}
self.assertEqual(expect, result)
join_cast_result = json.loads(ee.Join(join).serialize())
self.assertEqual(expect, join_cast_result)
def test_inner_join(self):
first = '1st'
second = '2nd'
join = ee.Join.inner(first, second)
self.assertEqual({'value': 'fakeValue'}, join.getInfo())
join_func = ee.ApiFunction.lookup(INNER)
self.assertEqual(join_func, join.func)
self.assertFalse(join.isVariable())
args = join.args
self.assertEqual(first, args['primaryKey']._string)
self.assertEqual(second, args['secondaryKey']._string)
result = json.loads(join.serialize())
expect = {
'result': '0',
'values': {
'0': {
'functionInvocationValue': {
'arguments': {
'primaryKey': {'constantValue': '1st'},
'secondaryKey': {'constantValue': '2nd'},
},
'functionName': INNER,
}
}
},
}
self.assertEqual(expect, result)
join_cast_result = json.loads(ee.Join(join).serialize())
self.assertEqual(expect, join_cast_result)
def test_join_no_args(self):
message = 'missing 1 required positional argument.*join'
with self.assertRaisesRegex(TypeError, message):
ee.Join() # pytype:disable=missing-parameter
if __name__ == '__main__':
unittest.main()