From 9799342fe93ceb4c1d2575021b82b862057741ca Mon Sep 17 00:00:00 2001 From: Nick Entin Date: Wed, 28 Aug 2024 17:06:29 -0700 Subject: [PATCH] Add some missing main actor annotations in unit tests --- ParalayoutTests/AngleTests.swift | 6 +++++ ParalayoutTests/DistributionTests.swift | 1 + ParalayoutTests/GeometryAdditionsTests.swift | 14 +++++++++++ ParalayoutTests/InterpolationTests.swift | 25 ++++++++++++++++++++ ParalayoutTests/PositionTests.swift | 2 ++ ParalayoutTests/UIViewFrameTests.swift | 14 +++++++++++ ParalayoutTests/UIViewSizingTests.swift | 12 ++++++++++ ParalayoutTests/ViewArrayBuilderTests.swift | 9 +++++++ 8 files changed, 83 insertions(+) diff --git a/ParalayoutTests/AngleTests.swift b/ParalayoutTests/AngleTests.swift index dd031bc..6ce4318 100644 --- a/ParalayoutTests/AngleTests.swift +++ b/ParalayoutTests/AngleTests.swift @@ -20,6 +20,7 @@ import XCTest final class AngleTests: XCTestCase { + @MainActor func testConstants() { XCTAssertEqual(Angle.zero.radians, 0) XCTAssertEqual(Angle.right.degrees, 90, accuracy: 1e-4) @@ -27,6 +28,7 @@ final class AngleTests: XCTestCase { XCTAssertEqual(Angle.fullCircle.degrees, 360, accuracy: 1e-4) } + @MainActor func testValueInitializers() { func assertRadianInitPreservesValue(_ radians: CGFloat) { XCTAssertEqual(Angle(radians: radians).radians, radians) @@ -45,6 +47,7 @@ final class AngleTests: XCTestCase { } } + @MainActor func testPointInitializer() { let rect = CGRect(x: -1, y: -1, width: 2, height: 2) let centerPoint = Position.center.point(in: rect, layoutDirection: .leftToRight) @@ -94,6 +97,7 @@ final class AngleTests: XCTestCase { ) } + @MainActor func testPointAtDistance() { let rect = CGRect(x: -1, y: -1, width: 2, height: 2) let diagonalUnit: CGFloat = sqrt(2) @@ -151,6 +155,7 @@ final class AngleTests: XCTestCase { } } + @MainActor func testPositiveNormalization() { // In the range [0,2π), the angle should be unmutated. XCTAssertEqual(Angle.zero.normalizedPositive.radians, Angle.zero.radians) @@ -168,6 +173,7 @@ final class AngleTests: XCTestCase { XCTAssertEqual(Angle(radians: -.pi / 2).normalizedPositive.radians, 1.5 * .pi, accuracy: 1e-4) } + @MainActor func testHalfCircleNormalization() { // In the range [-180º,180º), the angle should be unmutated. XCTAssertEqual(Angle.zero.normalizedHalfCircle.radians, Angle.zero.radians, accuracy: 1e-4) diff --git a/ParalayoutTests/DistributionTests.swift b/ParalayoutTests/DistributionTests.swift index 2b4695a..46eec39 100644 --- a/ParalayoutTests/DistributionTests.swift +++ b/ParalayoutTests/DistributionTests.swift @@ -22,6 +22,7 @@ final class DistributionTests: XCTestCase { // MARK: - Tests - Orthogonal Alignment + @MainActor func testOrthogonalAlignmentInHorizontalDistribution() { // The layout direction shouldn't affect the orthogonal alignment in a horizontal distribution. for forcedLayoutDirection in [UISemanticContentAttribute.forceLeftToRight, .forceRightToLeft] { diff --git a/ParalayoutTests/GeometryAdditionsTests.swift b/ParalayoutTests/GeometryAdditionsTests.swift index d189ae7..96303fc 100644 --- a/ParalayoutTests/GeometryAdditionsTests.swift +++ b/ParalayoutTests/GeometryAdditionsTests.swift @@ -22,6 +22,7 @@ final class GeometryAdditionsTests: XCTestCase { // MARK: - Tests - Operators + @MainActor func testOffsetOperators() { // Combine offsets. XCTAssertEqual( @@ -66,6 +67,7 @@ final class GeometryAdditionsTests: XCTestCase { // MARK: - Tests - CGPoint Extensions + @MainActor func testMidpoint() { // The midpoint between two of the same point should be that point. XCTAssertEqual(CGPoint(midpointBetween: .zero, and: .zero), .zero) @@ -85,6 +87,7 @@ final class GeometryAdditionsTests: XCTestCase { ) } + @MainActor func testDistanceBetweenPoints() { // A point's distance from itself is always zero. XCTAssertEqual(CGPoint.zero.distance(to: .zero), 0) @@ -102,12 +105,14 @@ final class GeometryAdditionsTests: XCTestCase { // MARK: - Tests - CGSize Extensions + @MainActor func testSizeOfGreatestFiniteMagnitude() { let size = CGSize.greatestFiniteMagnitude XCTAssertEqual(size.width, .greatestFiniteMagnitude) XCTAssertEqual(size.height, .greatestFiniteMagnitude) } + @MainActor func testScalingSize() { // A zero size scaled by anything should still be zero. XCTAssertEqual(CGSize.zero * 100, .zero) @@ -124,11 +129,13 @@ final class GeometryAdditionsTests: XCTestCase { // MARK: - Tests - CGRect Extensions + @MainActor func testCGRectCreation() { XCTAssertEqual(CGRect(left: 10, top: 10, right: 50, bottom: 50), CGRect(x: 10, y: 10, width: 40, height: 40)) XCTAssertEqual(CGRect(left: 50, top: 50, right: 10, bottom: 10), CGRect(x: 10, y: 10, width: 40, height: 40)) } + @MainActor func testCGRectInset() { // CGRect.insetBy(left:top:right:bottom:) XCTAssertEqual( @@ -165,6 +172,7 @@ final class GeometryAdditionsTests: XCTestCase { ) } + @MainActor func testCGRectSlice() { // CGRect.zero tests XCTAssert(CGRect.zero.slice(from: .minXEdge, amount: 0) == (.zero, .zero)) @@ -201,11 +209,13 @@ final class GeometryAdditionsTests: XCTestCase { // MARK: - Tests - UIEdgeInsets Extensions + @MainActor func testCreateUniformInsets() { XCTAssertEqual(UIEdgeInsets(uniform: 20), UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)) XCTAssertEqual(UIEdgeInsets(uniformOutset: 20), UIEdgeInsets(top: -20, left: -20, bottom: -20, right: -20)) } + @MainActor func testCreateInsetsByAxis() { XCTAssertEqual( UIEdgeInsets(vertical: 10, horizontal: 20), @@ -213,6 +223,7 @@ final class GeometryAdditionsTests: XCTestCase { ) } + @MainActor func testInsetAmountOnAxis() { XCTAssertEqual(UIEdgeInsets(top: 10, left: 20, bottom: 30, right: 40).horizontalAmount, 60) XCTAssertEqual(UIEdgeInsets(top: 10, left: 20, bottom: 15, right: 40).verticalAmount, 25) @@ -223,6 +234,7 @@ final class GeometryAdditionsTests: XCTestCase { // MARK: - Tests - NSDirectionalEdgeInsets Extensions + @MainActor func testCreateUniformDirectionalInsets() { XCTAssertEqual( NSDirectionalEdgeInsets(uniform: 20), @@ -234,6 +246,7 @@ final class GeometryAdditionsTests: XCTestCase { ) } + @MainActor func testCreateDirectionalInsetsByAxis() { XCTAssertEqual( NSDirectionalEdgeInsets(vertical: 10, horizontal: 20), @@ -241,6 +254,7 @@ final class GeometryAdditionsTests: XCTestCase { ) } + @MainActor func testDirectionalInsetAmountOnAxis() { XCTAssertEqual(NSDirectionalEdgeInsets(top: 10, leading: 20, bottom: 30, trailing: 40).horizontalAmount, 60) XCTAssertEqual(NSDirectionalEdgeInsets(top: 10, leading: 20, bottom: 15, trailing: 40).verticalAmount, 25) diff --git a/ParalayoutTests/InterpolationTests.swift b/ParalayoutTests/InterpolationTests.swift index 59ea32b..853a769 100644 --- a/ParalayoutTests/InterpolationTests.swift +++ b/ParalayoutTests/InterpolationTests.swift @@ -22,6 +22,7 @@ final class InterpolationTests: XCTestCase { // MARK: - CGRect + @MainActor func testCGRectInterpolation() { let startRect = CGRect(x: 1, y: 2, width: 5, height: 6) let endRect = CGRect(x: 3, y: 4, width: 7, height: 8) @@ -33,6 +34,7 @@ final class InterpolationTests: XCTestCase { // MARK: - Float + @MainActor func testLinearFloatInterpolation_fromMinToMax() { let value: Float = 3.0 let min: Float = 1.0 @@ -43,6 +45,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 3) } + @MainActor func testEaseInFloatInterpolation_fromMinToMax() { let value: Float = 3.0 let min: Float = 1.0 @@ -53,6 +56,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 2) } + @MainActor func testEaseOutFloatInterpolation_fromMinToMax() { let value: Float = 3.0 let min: Float = 1.0 @@ -63,6 +67,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 4) } + @MainActor func testEaseInOutFloatInterpolation_fromMinToMax() { let value: Float = 3.0 let min: Float = 1.0 @@ -73,6 +78,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 3) } + @MainActor func testLinearFloatInterpolation_ofUnit() { let value: Float = 3.0 let min: Float = 1.0 @@ -82,6 +88,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 5) } + @MainActor func testEaseInFloatInterpolation_ofUnit() { let value: Float = 3.0 let min: Float = 1.0 @@ -91,6 +98,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 5) } + @MainActor func testEaseOutFloatInterpolation_ofUnit() { let value: Float = 3.0 let min: Float = 1.0 @@ -100,6 +108,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 5) } + @MainActor func testEaseInOutFloatInterpolation_ofUnit() { let value: Float = 3.0 let min: Float = 1.0 @@ -109,6 +118,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 5) } + @MainActor func testLinearFloatInterpolation_fromMinToMax_withMidpoint() { let value: Float = 3.0 let min: Float = 1.0 @@ -120,6 +130,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 2) } + @MainActor func testEaseInFloatInterpolation_fromMinToMax_withMidpoint() { let value: Float = 3.0 let min: Float = 1.0 @@ -131,6 +142,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 2) } + @MainActor func testEaseOutFloatInterpolation_fromMinToMax_withMidpoint() { let value: Float = 3.0 let min: Float = 1.0 @@ -142,6 +154,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 2) } + @MainActor func testEaseInOutFloatInterpolation_fromMinToMax_withMidpoint() { let value: Float = 3.0 let min: Float = 1.0 @@ -155,6 +168,7 @@ final class InterpolationTests: XCTestCase { // MARK: - Double + @MainActor func testLinearDoubleInterpolation_fromMinToMax() { let value: Double = 3.0 let min: Double = 1.0 @@ -165,6 +179,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 3) } + @MainActor func testEaseInDoubleInterpolation_fromMinToMax() { let value: Double = 3.0 let min: Double = 1.0 @@ -175,6 +190,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 2) } + @MainActor func testEaseOutDoubleInterpolation_fromMinToMax() { let value: Double = 3.0 let min: Double = 1.0 @@ -185,6 +201,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 4) } + @MainActor func testEaseInOutDoubleInterpolation_fromMinToMax() { let value: Double = 3.0 let min: Double = 1.0 @@ -195,6 +212,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 3) } + @MainActor func testLinearDoubleInterpolation_ofUnit() { let value: Double = 3.0 let min: Double = 1.0 @@ -204,6 +222,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 5) } + @MainActor func testEaseInDoubleInterpolation_ofUnit() { let value: Double = 3.0 let min: Double = 1.0 @@ -213,6 +232,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 5) } + @MainActor func testEaseOutDoubleInterpolation_ofUnit() { let value: Double = 3.0 let min: Double = 1.0 @@ -222,6 +242,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 5) } + @MainActor func testEaseInOutDoubleInterpolation_ofUnit() { let value: Double = 3.0 let min: Double = 1.0 @@ -231,6 +252,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 5) } + @MainActor func testLinearDoubleInterpolation_fromMinToMax_withMidpoint() { let value: Double = 3.0 let min: Double = 1.0 @@ -242,6 +264,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 2) } + @MainActor func testEaseInDoubleInterpolation_fromMinToMax_withMidpoint() { let value: Double = 3.0 let min: Double = 1.0 @@ -253,6 +276,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 2) } + @MainActor func testEaseOutDoubleInterpolation_fromMinToMax_withMidpoint() { let value: Double = 3.0 let min: Double = 1.0 @@ -264,6 +288,7 @@ final class InterpolationTests: XCTestCase { XCTAssertEqual(interpolation, 2) } + @MainActor func testEaseInOutDoubleInterpolation_fromMinToMax_withMidpoint() { let value: Double = 3.0 let min: Double = 1.0 diff --git a/ParalayoutTests/PositionTests.swift b/ParalayoutTests/PositionTests.swift index e7b297d..5345851 100644 --- a/ParalayoutTests/PositionTests.swift +++ b/ParalayoutTests/PositionTests.swift @@ -20,6 +20,7 @@ import XCTest final class PositionTests: XCTestCase { + @MainActor func testResolvePositionsInLeftToRightLayout() { func resolve(_ position: Position) -> ResolvedPosition { return ResolvedPosition(resolving: position, with: .leftToRight) @@ -45,6 +46,7 @@ final class PositionTests: XCTestCase { XCTAssertEqual(resolve(.bottomTrailing), .bottomRight) } + @MainActor func testResolvePositionsInRightToLeftLayout() { func resolve(_ position: Position) -> ResolvedPosition { return ResolvedPosition(resolving: position, with: .rightToLeft) diff --git a/ParalayoutTests/UIViewFrameTests.swift b/ParalayoutTests/UIViewFrameTests.swift index 5826351..8a88c13 100644 --- a/ParalayoutTests/UIViewFrameTests.swift +++ b/ParalayoutTests/UIViewFrameTests.swift @@ -23,6 +23,7 @@ final class UIViewFrameTests: XCTestCase { // MARK: - Tests + @MainActor func testUntransformedFrameGetter_simpleFrames() { let view = UIView() @@ -36,6 +37,7 @@ final class UIViewFrameTests: XCTestCase { assertUntransformedFrameIsAccurate(for: view) } + @MainActor func testUntransformedFrameSetter_simpleFrames() { let view = UIView() @@ -44,6 +46,7 @@ final class UIViewFrameTests: XCTestCase { XCTAssertEqual(view.untransformedFrame, newValue) } + @MainActor func testUntransformedFrameGetter_nonIdentityTransform() { let view = UIView(frame: CGRect(x: 10, y: 20, width: 30, height: 40)) @@ -54,6 +57,7 @@ final class UIViewFrameTests: XCTestCase { assertUntransformedFrameIsAccurate(for: view) } + @MainActor func testUntransformedFrameSetter_nonIdentityTransform() { let view = UIView(frame: CGRect(x: 10, y: 20, width: 30, height: 40)) @@ -66,6 +70,7 @@ final class UIViewFrameTests: XCTestCase { XCTAssertEqual(view.transform, transform) } + @MainActor func testUntransformedFrameGetter_nonCenterAnchorPoint() { let view = UIView(frame: CGRect(x: 10, y: 20, width: 30, height: 40)) @@ -76,6 +81,7 @@ final class UIViewFrameTests: XCTestCase { assertUntransformedFrameIsAccurate(for: view) } + @MainActor func testUntransformedFrameSetter_nonCenterAnchorPoint() { let view = UIView(frame: CGRect(x: 10, y: 20, width: 30, height: 40)) @@ -88,6 +94,7 @@ final class UIViewFrameTests: XCTestCase { XCTAssertEqual(view.layer.anchorPoint, anchorPoint) } + @MainActor func testUntransformedFrameGetter_nonZeroOriginBounds() { let view = UIView(frame: CGRect(x: 10, y: 20, width: 30, height: 40)) @@ -95,6 +102,7 @@ final class UIViewFrameTests: XCTestCase { assertUntransformedFrameIsAccurate(for: view) } + @MainActor func testUntransformedFrameSetter_nonZeroOriginBounds() { let view = UIView(frame: CGRect(x: 10, y: 20, width: 30, height: 40)) @@ -107,6 +115,7 @@ final class UIViewFrameTests: XCTestCase { XCTAssertEqual(view.bounds.origin, boundsOrigin) } + @MainActor func testUntransformedConvert_siblingViews() throws { let window = UIWindow(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) @@ -139,6 +148,7 @@ final class UIViewFrameTests: XCTestCase { try assertUntransformedConvertIsAccurate(for: CGPoint(x: 2, y: 3), in: view2, convertedTo: view1) } + @MainActor func testUntransformedConvert_verticalHierarchy() throws { let view1 = UIView(frame: CGRect(x: 1, y: 2, width: 10, height: 10)) @@ -155,6 +165,7 @@ final class UIViewFrameTests: XCTestCase { try assertUntransformedConvertIsAccurate(for: CGPoint(x: -7, y: 8), in: view3, convertedTo: view1) } + @MainActor func testUntransformedConvert_nonZeroBounds() throws { let window = UIWindow(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) @@ -176,6 +187,7 @@ final class UIViewFrameTests: XCTestCase { try assertUntransformedConvertIsAccurate(for: CGPoint(x: 1, y: 2), in: view2, convertedTo: view3) } + @MainActor func testUntransformedConvert_nonIdentityTransforms() throws { let view1 = UIView(frame: CGRect(x: 1, y: 2, width: 10, height: 10)) view1.transform = .init(rotationAngle: 0.1) @@ -202,6 +214,7 @@ final class UIViewFrameTests: XCTestCase { // MARK: - Private Helper Methods + @MainActor func assertUntransformedFrameIsAccurate(for view: UIView, file: StaticString = #file, line: UInt = #line) { let actualValue = view.untransformedFrame @@ -213,6 +226,7 @@ final class UIViewFrameTests: XCTestCase { view.layer.transform = originalTransform } + @MainActor func assertUntransformedConvertIsAccurate( for point: CGPoint, in sourceView: UIView, diff --git a/ParalayoutTests/UIViewSizingTests.swift b/ParalayoutTests/UIViewSizingTests.swift index 4d8531e..7de01a5 100644 --- a/ParalayoutTests/UIViewSizingTests.swift +++ b/ParalayoutTests/UIViewSizingTests.swift @@ -22,6 +22,7 @@ final class UIViewSizingTests: XCTestCase { // MARK: - Tests - Size That Fits + @MainActor func testSizeThatFitsWithNoConstraints() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) @@ -31,6 +32,7 @@ final class UIViewSizingTests: XCTestCase { ) } + @MainActor func testSizeThatFitsWithMaxWidthConstraints() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) @@ -40,6 +42,7 @@ final class UIViewSizingTests: XCTestCase { ) } + @MainActor func testSizeThatFitsWithMaxHeightConstraints() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) @@ -49,6 +52,7 @@ final class UIViewSizingTests: XCTestCase { ) } + @MainActor func testSizeThatFitsWithMaxSizeConstraints() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) @@ -58,6 +62,7 @@ final class UIViewSizingTests: XCTestCase { ) } + @MainActor func testSizeThatFitsWithMinWidthConstraints() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) @@ -67,6 +72,7 @@ final class UIViewSizingTests: XCTestCase { ) } + @MainActor func testSizeThatFitsWithMinHeightConstraints() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) @@ -76,6 +82,7 @@ final class UIViewSizingTests: XCTestCase { ) } + @MainActor func testSizeThatFitsWithMinSizeConstraints() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) @@ -87,6 +94,7 @@ final class UIViewSizingTests: XCTestCase { // MARK: - Tests - Size To Fit + @MainActor func testSizeToFitWithNoConstraints() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) testView.sizeToFit(.zero) @@ -97,6 +105,7 @@ final class UIViewSizingTests: XCTestCase { ) } + @MainActor func testSizeToFitWithMaxSizeConstraints() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) testView.sizeToFit(.init(width: 100, height: 50), constraints: .maxSize) @@ -107,6 +116,7 @@ final class UIViewSizingTests: XCTestCase { ) } + @MainActor func testSizeToFitWithTransform() { let testView = TestView(sizeThatFits: .init(width: 300, height: 200)) testView.transform = .init(scaleX: 2, y: 2) @@ -117,6 +127,7 @@ final class UIViewSizingTests: XCTestCase { XCTAssertEqual(testView.frame.size, .init(width: 200, height: 100)) } + @MainActor func testSizeToFitWithNegativeWidth() { let testView = TestView(sizeThatFits: .init(width: -50, height: 200)) testView.sizeToFit(.init(width: 100, height: 50)) @@ -124,6 +135,7 @@ final class UIViewSizingTests: XCTestCase { XCTAssertEqual(testView.bounds.size, .init(width: 0, height: 200)) } + @MainActor func testSizeToFitWithNegativeHeight() { let testView = TestView(sizeThatFits: .init(width: 200, height: -50)) testView.sizeToFit(.init(width: 100, height: 50)) diff --git a/ParalayoutTests/ViewArrayBuilderTests.swift b/ParalayoutTests/ViewArrayBuilderTests.swift index 7f1f92d..921642d 100644 --- a/ParalayoutTests/ViewArrayBuilderTests.swift +++ b/ParalayoutTests/ViewArrayBuilderTests.swift @@ -22,6 +22,7 @@ final class ViewArrayBuilderTests: XCTestCase { // MARK: - Tests + @MainActor func testSimpleResultBuilder() throws { let view1 = UIView() let view2 = UIView() @@ -37,6 +38,7 @@ final class ViewArrayBuilderTests: XCTestCase { ) } + @MainActor func testIfTrueResultBuilder() throws { let view1 = UIView() let view2 = UIView() @@ -58,6 +60,7 @@ final class ViewArrayBuilderTests: XCTestCase { ) } + @MainActor func testIfFalseResultBuilder() throws { let view1 = UIView() let view2 = UIView() @@ -78,6 +81,7 @@ final class ViewArrayBuilderTests: XCTestCase { ) } + @MainActor func testIfElseFirstBranchResultBuilder() throws { let view1 = UIView() let view2 = UIView() @@ -102,6 +106,7 @@ final class ViewArrayBuilderTests: XCTestCase { ) } + @MainActor func testIfElseSecondBranchResultBuilder() throws { let view1 = UIView() let view2 = UIView() @@ -126,6 +131,7 @@ final class ViewArrayBuilderTests: XCTestCase { ) } + @MainActor func testSwitchCaseResultBuilder() throws { let view1 = UIView() let view2 = UIView() @@ -150,6 +156,7 @@ final class ViewArrayBuilderTests: XCTestCase { ) } + @MainActor func testSwitchDefaultResultBuilder() throws { let view1 = UIView() let view2 = UIView() @@ -173,6 +180,7 @@ final class ViewArrayBuilderTests: XCTestCase { ) } + @MainActor func testForLoopResultBuilder() throws { let views = [UIView(), UIView(), UIView()] XCTAssertEqual( @@ -187,6 +195,7 @@ final class ViewArrayBuilderTests: XCTestCase { // MARK: - Private Methods + @MainActor private func viewArray(@ViewArrayBuilder _ builder: () -> [UIView]) -> [UIView] { builder() }