Add a couple of missing coder tests.
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/ab02a1d6 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/ab02a1d6 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/ab02a1d6 Branch: refs/heads/python-sdk Commit: ab02a1d60ce70f31c087a78a940bb4833b477ebb Parents: c4208a8 Author: Robert Bradshaw <rober...@google.com> Authored: Wed Nov 9 13:47:53 2016 -0800 Committer: Robert Bradshaw <rober...@google.com> Committed: Tue Nov 15 10:48:35 2016 -0800 ---------------------------------------------------------------------- .../apache_beam/coders/coders_test_common.py | 24 ++++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/ab02a1d6/sdks/python/apache_beam/coders/coders_test_common.py ---------------------------------------------------------------------- diff --git a/sdks/python/apache_beam/coders/coders_test_common.py b/sdks/python/apache_beam/coders/coders_test_common.py index adeb6a5..2ec8e7f 100644 --- a/sdks/python/apache_beam/coders/coders_test_common.py +++ b/sdks/python/apache_beam/coders/coders_test_common.py @@ -59,13 +59,9 @@ class CodersTest(unittest.TestCase): 'Base' not in c.__name__) standard -= set([coders.Coder, coders.FastCoder, - coders.Base64PickleCoder, - coders.FloatCoder, coders.ProtoCoder, - coders.TimestampCoder, coders.ToStringCoder, - coders.WindowCoder, - coders.WindowedValueCoder]) + coders.WindowCoder]) assert not standard - cls.seen, standard - cls.seen assert not standard - cls.seen_nested, standard - cls.seen_nested @@ -155,6 +151,9 @@ class CodersTest(unittest.TestCase): self.check_coder(coders.FloatCoder(), *[float(2 ** (0.1 * x)) for x in range(-100, 100)]) self.check_coder(coders.FloatCoder(), float('-Inf'), float('Inf')) + self.check_coder( + coders.TupleCoder((coders.FloatCoder(), coders.FloatCoder())), + (0, 1), (-100, 100), (0.5, 0.25)) def test_singleton_coder(self): a = 'anything' @@ -173,6 +172,9 @@ class CodersTest(unittest.TestCase): self.check_coder(coders.TimestampCoder(), timestamp.Timestamp(micros=-1234567890123456789), timestamp.Timestamp(micros=1234567890123456789)) + self.check_coder( + coders.TupleCoder((coders.TimestampCoder(), coders.BytesCoder())), + (timestamp.Timestamp.of(27), 'abc')) def test_tuple_coder(self): self.check_coder( @@ -209,6 +211,18 @@ class CodersTest(unittest.TestCase): coders.IterableCoder(coders.VarIntCoder()))), (1, [1, 2, 3])) + def test_windowed_value_coder(self): + self.check_coder( + coders.WindowedValueCoder(coders.VarIntCoder()), + windowed_value.WindowedValue(3, -100, ()), + windowed_value.WindowedValue(-1, 100, (1, 2, 3))) + self.check_coder( + coders.TupleCoder(( + coders.WindowedValueCoder(coders.FloatCoder()), + coders.WindowedValueCoder(coders.StrUtf8Coder()))), + (windowed_value.WindowedValue(1.5, 0, ()), + windowed_value.WindowedValue("abc", 10, ('window',)))) + def test_proto_coder(self): # For instructions on how these test proto message were generated, # see coders_test.py