abandy commented on code in PR #35985:
URL: https://github.com/apache/arrow/pull/35985#discussion_r1225505086


##########
swift/Arrow/Tests/ArrowTests/ArrayTests.swift:
##########
@@ -125,6 +125,62 @@ final class ArrayTests: XCTestCase {
         XCTAssertEqual(date64Array.length, 3)
         XCTAssertEqual(date64Array[1], date2)
         XCTAssertEqual(date64Array[0]!, date1)
+    }
+    
+    func testBinaryArray() throws {
+        let binaryBuilder = try ArrowArrayBuilders.loadBinaryArrayBuilder();
+        for i in 0..<100 {
+            if i % 10 == 9 {
+                binaryBuilder.append(nil)
+            } else {
+                binaryBuilder.append(("test" + String(i)).data(using:.utf8))
+            }
+        }
         
+        XCTAssertEqual(binaryBuilder.nullCount, 10)
+        XCTAssertEqual(binaryBuilder.length, 100)
+        XCTAssertEqual(binaryBuilder.capacity, 648)
+        let binaryArray = try binaryBuilder.finish()
+        XCTAssertEqual(binaryArray.length, 100)
+        for i in 0..<binaryArray.length {
+            if i % 10 == 9 {
+                XCTAssertEqual(try binaryArray.isNull(i), true)
+            } else {
+                let stringData = String(bytes: binaryArray[i]!, encoding: 
.utf8)
+                XCTAssertEqual(stringData, "test" + String(i))
+            }
+        }
+    }
+    
+    func testTime32Array() throws {
+        let time32Builder = try 
ArrowArrayBuilders.loadTime32ArrayBuilder(.Milliseconds);
+        time32Builder.append(100)
+        time32Builder.append(1000000)
+        time32Builder.append(nil)
+        XCTAssertEqual(time32Builder.nullCount, 1)
+        XCTAssertEqual(time32Builder.length, 3)
+        XCTAssertEqual(time32Builder.capacity, 136)
+        let time32Array = try time32Builder.finish()
+        let time32Type = time32Array.arrowData.type as! ArrowTypeTime32
+        XCTAssertEqual(time32Type.unit, .Milliseconds)
+        XCTAssertEqual(time32Array.length, 3)
+        XCTAssertEqual(time32Array[1], 1000000)
+        XCTAssertEqual(time32Array[2], nil)
+    }
+    
+    func testTime64Array() throws {
+        let time32Builder = try 
ArrowArrayBuilders.loadTime64ArrayBuilder(.Nanoseconds);

Review Comment:
   Will do.



##########
swift/Arrow/Tests/ArrowTests/ArrayTests.swift:
##########
@@ -125,6 +125,62 @@ final class ArrayTests: XCTestCase {
         XCTAssertEqual(date64Array.length, 3)
         XCTAssertEqual(date64Array[1], date2)
         XCTAssertEqual(date64Array[0]!, date1)
+    }
+    
+    func testBinaryArray() throws {
+        let binaryBuilder = try ArrowArrayBuilders.loadBinaryArrayBuilder();
+        for i in 0..<100 {
+            if i % 10 == 9 {
+                binaryBuilder.append(nil)
+            } else {
+                binaryBuilder.append(("test" + String(i)).data(using:.utf8))
+            }
+        }
         
+        XCTAssertEqual(binaryBuilder.nullCount, 10)
+        XCTAssertEqual(binaryBuilder.length, 100)
+        XCTAssertEqual(binaryBuilder.capacity, 648)
+        let binaryArray = try binaryBuilder.finish()
+        XCTAssertEqual(binaryArray.length, 100)
+        for i in 0..<binaryArray.length {
+            if i % 10 == 9 {
+                XCTAssertEqual(try binaryArray.isNull(i), true)
+            } else {
+                let stringData = String(bytes: binaryArray[i]!, encoding: 
.utf8)
+                XCTAssertEqual(stringData, "test" + String(i))
+            }
+        }
+    }
+    
+    func testTime32Array() throws {
+        let time32Builder = try 
ArrowArrayBuilders.loadTime32ArrayBuilder(.Milliseconds);
+        time32Builder.append(100)
+        time32Builder.append(1000000)
+        time32Builder.append(nil)
+        XCTAssertEqual(time32Builder.nullCount, 1)
+        XCTAssertEqual(time32Builder.length, 3)
+        XCTAssertEqual(time32Builder.capacity, 136)
+        let time32Array = try time32Builder.finish()
+        let time32Type = time32Array.arrowData.type as! ArrowTypeTime32
+        XCTAssertEqual(time32Type.unit, .Milliseconds)
+        XCTAssertEqual(time32Array.length, 3)
+        XCTAssertEqual(time32Array[1], 1000000)
+        XCTAssertEqual(time32Array[2], nil)
+    }
+    
+    func testTime64Array() throws {
+        let time32Builder = try 
ArrowArrayBuilders.loadTime64ArrayBuilder(.Nanoseconds);

Review Comment:
   Will change.



##########
swift/Arrow/Tests/ArrowTests/IPCTests.swift:
##########
@@ -66,21 +66,21 @@ final class IPCFileReaderTests: XCTestCase {
         let result = arrowReader.fromFile(fileURL)
         let recordBatches: [RecordBatch]
         switch result {
-        case .success(let rbBatches):
-            recordBatches = rbBatches
+        case .success(let result):
+            recordBatches = result.batches
         case .failure(let error):
             throw error
         }
-
+        

Review Comment:
   Will remove.



##########
swift/Arrow/Tests/ArrowTests/IPCTests.swift:
##########
@@ -108,33 +108,34 @@ final class IPCFileReaderTests: XCTestCase {
         let fileRBs = try checkBoolRecordBatch(arrowReader.fromFile(fileURL))
         let arrowWriter = ArrowWriter()
         //write data from file to a stream
-        switch arrowWriter.toStream(fileRBs[0].schema, batches: fileRBs) {
+        let writerInfo = ArrowWriter.Info(.recordbatch, schema: 
fileRBs[0].schema, batches: fileRBs)
+        switch arrowWriter.toStream(writerInfo) {
         case .success(let writeData):
             //read stream back into recordbatches
             try checkBoolRecordBatch(arrowReader.fromStream(writeData))
         case .failure(let error):
             throw error
         }
-
+        

Review Comment:
   Will remove.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to