mirror of
https://github.com/google/flatbuffers.git
synced 2026-07-04 19:51:11 +00:00
[Swift] Migrate to use Swift Testing (#9076)
* Migrating from Xctests to swift testing This migrates to the new Swift testing framework, which would allow us to always use the latest tech from swift moving forward. * Updates flag to make sure that Wasm testing works
This commit is contained in:
@@ -15,11 +15,11 @@
|
||||
*/
|
||||
|
||||
import Foundation
|
||||
import XCTest
|
||||
import Testing
|
||||
|
||||
@testable import FlatBuffers
|
||||
|
||||
class FlatBuffersMoreDefaults: XCTestCase {
|
||||
struct FlatBuffersMoreDefaults {
|
||||
|
||||
func testFlatbuffersObject() {
|
||||
var fbb = FlatBufferBuilder()
|
||||
@@ -27,61 +27,58 @@ class FlatBuffersMoreDefaults: XCTestCase {
|
||||
fbb.finish(offset: root)
|
||||
var byteBuffer = fbb.sizedBuffer
|
||||
let defaults: MoreDefaults = getRoot(byteBuffer: &byteBuffer)
|
||||
XCTAssertEqual(defaults.emptyString, "")
|
||||
XCTAssertEqual(defaults.someString, "some")
|
||||
XCTAssertEqual(defaults.ints.isEmpty, true)
|
||||
XCTAssertEqual(defaults.floats.isEmpty, true)
|
||||
XCTAssertEqual(defaults.bools.isEmpty, true)
|
||||
XCTAssertEqual(defaults.ints.count, 0)
|
||||
XCTAssertEqual(defaults.floats.count, 0)
|
||||
XCTAssertEqual(defaults.abcs.count, 0)
|
||||
XCTAssertEqual(defaults.bools.count, 0)
|
||||
#expect(defaults.emptyString == "")
|
||||
#expect(defaults.someString == "some")
|
||||
#expect(defaults.ints.isEmpty == true)
|
||||
#expect(defaults.floats.isEmpty == true)
|
||||
#expect(defaults.bools.isEmpty == true)
|
||||
#expect(defaults.ints.count == 0)
|
||||
#expect(defaults.floats.count == 0)
|
||||
#expect(defaults.abcs.count == 0)
|
||||
#expect(defaults.bools.count == 0)
|
||||
}
|
||||
|
||||
func testFlatbuffersObjectAPI() {
|
||||
var fbb = FlatBufferBuilder()
|
||||
let defaults = MoreDefaultsT()
|
||||
XCTAssertEqual(defaults.emptyString, "")
|
||||
XCTAssertEqual(defaults.someString, "some")
|
||||
XCTAssertEqual(defaults.ints, [])
|
||||
XCTAssertEqual(defaults.floats, [])
|
||||
XCTAssertEqual(defaults.abcs, [])
|
||||
XCTAssertEqual(defaults.bools, [])
|
||||
#expect(defaults.emptyString == "")
|
||||
#expect(defaults.someString == "some")
|
||||
#expect(defaults.ints == [])
|
||||
#expect(defaults.floats == [])
|
||||
#expect(defaults.abcs == [])
|
||||
#expect(defaults.bools == [])
|
||||
|
||||
var buffer = defaults.serialize(builder: &fbb, type: MoreDefaults.self)
|
||||
let fDefaults: MoreDefaults = getRoot(byteBuffer: &buffer)
|
||||
XCTAssertEqual(fDefaults.emptyString, "")
|
||||
XCTAssertEqual(fDefaults.someString, "some")
|
||||
XCTAssertEqual(fDefaults.ints.isEmpty, true)
|
||||
XCTAssertEqual(fDefaults.floats.isEmpty, true)
|
||||
XCTAssertEqual(fDefaults.ints.count, 0)
|
||||
XCTAssertEqual(fDefaults.floats.count, 0)
|
||||
XCTAssertEqual(fDefaults.abcs.count, 0)
|
||||
XCTAssertEqual(fDefaults.bools.count, 0)
|
||||
#expect(fDefaults.emptyString == "")
|
||||
#expect(fDefaults.someString == "some")
|
||||
#expect(fDefaults.ints.isEmpty == true)
|
||||
#expect(fDefaults.floats.isEmpty == true)
|
||||
#expect(fDefaults.ints.count == 0)
|
||||
#expect(fDefaults.floats.count == 0)
|
||||
#expect(fDefaults.abcs.count == 0)
|
||||
#expect(fDefaults.bools.count == 0)
|
||||
}
|
||||
|
||||
func testEncoding() {
|
||||
@Test
|
||||
func testEncoding() throws {
|
||||
var fbb = FlatBufferBuilder()
|
||||
let root = MoreDefaults.createMoreDefaults(&fbb)
|
||||
fbb.finish(offset: root)
|
||||
var sizedBuffer = fbb.sizedBuffer
|
||||
do {
|
||||
struct Test: Decodable {
|
||||
var emptyString: String
|
||||
var someString: String
|
||||
}
|
||||
let reader: MoreDefaults = try getCheckedRoot(byteBuffer: &sizedBuffer)
|
||||
let encoder = JSONEncoder()
|
||||
encoder.keyEncodingStrategy = .convertToSnakeCase
|
||||
let data = try encoder.encode(reader)
|
||||
let decoder = JSONDecoder()
|
||||
decoder.keyDecodingStrategy = .convertFromSnakeCase
|
||||
let value = try decoder.decode(Test.self, from: data)
|
||||
XCTAssertEqual(value.someString, "some")
|
||||
XCTAssertEqual(value.emptyString, "")
|
||||
} catch {
|
||||
XCTFail(error.localizedDescription)
|
||||
struct Test: Decodable {
|
||||
var emptyString: String
|
||||
var someString: String
|
||||
}
|
||||
let reader: MoreDefaults = try getCheckedRoot(byteBuffer: &sizedBuffer)
|
||||
let encoder = JSONEncoder()
|
||||
encoder.keyEncodingStrategy = .convertToSnakeCase
|
||||
let data = try encoder.encode(reader)
|
||||
let decoder = JSONDecoder()
|
||||
decoder.keyDecodingStrategy = .convertFromSnakeCase
|
||||
let value = try decoder.decode(Test.self, from: data)
|
||||
#expect(value.someString == "some")
|
||||
#expect(value.emptyString == "")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user