From 735d98fb6e6b097c75bcc2c7e6afbeda1eb54972 Mon Sep 17 00:00:00 2001 From: Joe Jevnik Date: Tue, 7 Feb 2017 16:28:13 -0500 Subject: [PATCH] TST: add tests for inferred width labelarray --- tests/test_labelarray.py | 41 +++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/tests/test_labelarray.py b/tests/test_labelarray.py index f44394f2..c9df9a4f 100644 --- a/tests/test_labelarray.py +++ b/tests/test_labelarray.py @@ -351,24 +351,55 @@ class LabelArrayTestCase(ZiplineTestCase): ) ] - # uint8 + # uint8 categories = create_categories(8, plus_one=False) - arr = LabelArray([], missing_value='', categories=categories) + arr = LabelArray( + [], + missing_value=categories[0], + categories=categories, + ) + self.assertEqual(arr.itemsize, 1) + + # uint8 inference + arr = LabelArray(categories, missing_value=categories[0]) self.assertEqual(arr.itemsize, 1) # just over uint8 categories = create_categories(8, plus_one=True) - arr = LabelArray([], missing_value='', categories=categories) + arr = LabelArray( + [], + missing_value=categories[0], + categories=categories, + ) + self.assertEqual(arr.itemsize, 2) + + # uint16 inference + arr = LabelArray(categories, missing_value=categories[0]) self.assertEqual(arr.itemsize, 2) # fits in uint16 categories = create_categories(16, plus_one=False) - arr = LabelArray([], missing_value='', categories=categories) + arr = LabelArray( + [], missing_value=categories[0], + categories=categories, + ) + self.assertEqual(arr.itemsize, 2) + + # uint16 inference + arr = LabelArray(categories, missing_value=categories[0]) self.assertEqual(arr.itemsize, 2) # just over uint16 categories = create_categories(16, plus_one=True) - arr = LabelArray([], missing_value='', categories=categories) + arr = LabelArray( + [], + missing_value=categories[0], + categories=categories, + ) + self.assertEqual(arr.itemsize, 4) + + # uint32 inference + arr = LabelArray(categories, missing_value=categories[0]) self.assertEqual(arr.itemsize, 4) # NOTE: we could do this for 32 and 64; however, no one has enough RAM