earthengine-api/python/ee/tests/string_test.py
2020-04-15 12:40:45 -07:00

49 lines
1.2 KiB
Python

#!/usr/bin/env python
"""Test for the ee.string module."""
import unittest
import ee
from ee import apitestcase
class StringTest(apitestcase.ApiTestCase):
def testString(self):
"""Verifies basic behavior of ee.String."""
bare_string = ee.String('foo')
self.assertEqual('foo', bare_string.encode())
computed = ee.String('foo').cat('bar')
self.assertIsInstance(computed, ee.String)
self.assertEqual(ee.ApiFunction.lookup('String.cat'), computed.func)
self.assertEqual({
'string1': ee.String('foo'),
'string2': ee.String('bar')
}, computed.args)
# Casting a non-string ComputedObject.
obj = ee.Number(1).add(1)
s = ee.String(obj)
self.assertIsInstance(s, ee.String)
self.assertEqual(ee.ApiFunction.lookup('String'), s.func)
self.assertEqual({'input': obj}, s.args)
def testInternals(self):
"""Test eq(), ne() and hash()."""
a = ee.String('one')
b = ee.String('two')
c = ee.String('one')
self.assertEqual(a, a)
self.assertNotEqual(a, b)
self.assertEqual(a, c)
self.assertNotEqual(b, c)
self.assertNotEqual(hash(a), hash(b))
if __name__ == '__main__':
unittest.main()