|
16 | 16 | from unittest import TestCase
|
17 | 17 | from bson.objectid import ObjectId
|
18 | 18 |
|
19 |
| -from pyarrow import Array, timestamp, int32, int64 |
| 19 | +from pyarrow import Array, timestamp, int32, int64, bool_ |
20 | 20 |
|
21 | 21 | from pymongoarrow.lib import (
|
22 | 22 | DatetimeBuilder, DoubleBuilder, Int32Builder, Int64Builder,
|
23 |
| - ObjectIdBuilder, StringBuilder) |
| 23 | + ObjectIdBuilder, StringBuilder, BoolBuilder) |
24 | 24 |
|
25 | 25 |
|
26 | 26 | class TestIntBuildersMixin:
|
@@ -146,3 +146,26 @@ def test_simple(self):
|
146 | 146 | self.assertEqual(len(arr), 5)
|
147 | 147 | self.assertEqual(
|
148 | 148 | arr.to_pylist(), values + [None])
|
| 149 | + |
| 150 | + |
| 151 | +class TestBoolBuilderMixin: |
| 152 | + def test_simple(self): |
| 153 | + builder = BoolBuilder() |
| 154 | + builder.append(False) |
| 155 | + builder.append_values([True, False, True, False, True, False]) |
| 156 | + builder.append_null() |
| 157 | + arr = builder.finish() |
| 158 | + |
| 159 | + self.assertIsInstance(arr, Array) |
| 160 | + self.assertEqual(arr.null_count, 1) |
| 161 | + self.assertEqual(len(arr), 8) |
| 162 | + self.assertEqual( |
| 163 | + arr.to_pylist(), [False, True, False, True, False, True, False, |
| 164 | + None]) |
| 165 | + self.assertEqual(arr.type, self.data_type) |
| 166 | + |
| 167 | + |
| 168 | +class TestBoolBuilder(TestCase, TestBoolBuilderMixin): |
| 169 | + def setUp(self): |
| 170 | + self.builder_cls = BoolBuilder |
| 171 | + self.data_type = bool_() |
0 commit comments