earthengine-api/python/ee/tests/string_test.py
Max Shawabkeh 2403df3657 v0.1.51.
2015-04-22 16:36:30 -07:00

47 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.assertEquals('foo', bare_string.encode())
computed = ee.String('foo').cat('bar')
self.assertTrue(isinstance(computed, ee.String))
self.assertEquals(ee.ApiFunction.lookup('String.cat'), computed.func)
self.assertEquals({'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.assertTrue(isinstance(s, ee.String))
self.assertEquals(ee.ApiFunction.lookup('String'), s.func)
self.assertEquals({'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.assertEquals(a, a)
self.assertNotEquals(a, b)
self.assertEquals(a, c)
self.assertNotEquals(b, c)
self.assertNotEquals(hash(a), hash(b))
if __name__ == '__main__':
unittest.main()