From 990c7c412dc0754b67427de9327454a1a8bf0530 Mon Sep 17 00:00:00 2001 From: Garric Nahapetian Date: Wed, 25 Oct 2023 12:18:03 -0700 Subject: [PATCH] Move tests --- Tests/LayoutTests/ArrayTests.swift | 148 ++++++++++++++++++ .../LayoutTests/NSLayoutConstraintTests.swift | 132 ---------------- 2 files changed, 148 insertions(+), 132 deletions(-) create mode 100644 Tests/LayoutTests/ArrayTests.swift diff --git a/Tests/LayoutTests/ArrayTests.swift b/Tests/LayoutTests/ArrayTests.swift new file mode 100644 index 00000000..7569e27a --- /dev/null +++ b/Tests/LayoutTests/ArrayTests.swift @@ -0,0 +1,148 @@ +// +// All Contributions by Match Group +// +// Copyright © 2023 Tinder (Match Group, LLC) +// +// Licensed under the Match Group Modified 3-Clause BSD License. +// See https://github.com/Tinder/Layout/blob/main/LICENSE for license information. +// + +@testable import Layout +import Nimble +import XCTest + +@MainActor +final class ArrayTests: XCTestCase { + + func testActivation() { + + // GIVEN + + let view: UIView = .init() + let constraint1: NSLayoutConstraint = .init( + item: view, + attribute: .height, + relatedBy: .equal, + toItem: nil, + attribute: .notAnAttribute, + multiplier: 1, + constant: 0 + ) + let constraint2: NSLayoutConstraint = .init( + item: view, + attribute: .width, + relatedBy: .equal, + toItem: nil, + attribute: .notAnAttribute, + multiplier: 1, + constant: 0 + ) + let constraints: [NSLayoutConstraint] = [constraint1, constraint2] + + // THEN + + expect(constraint1.isActive) == false + expect(constraint2.isActive) == false + + // WHEN + + let activatedConstraints: [NSLayoutConstraint] = constraints.activate() + + // THEN + + expect(constraint1.isActive) == true + expect(constraint2.isActive) == true + expect(activatedConstraints) == constraints + + // WHEN + + let deactivatedConstraints: [NSLayoutConstraint] = constraints.deactivate() + + // THEN + + expect(constraint1.isActive) == false + expect(constraint2.isActive) == false + expect(deactivatedConstraints) == constraints + } + + func testWithPriority() { + + // GIVEN + + let view: UIView = .init() + let constraint1: NSLayoutConstraint = .init( + item: view, + attribute: .height, + relatedBy: .equal, + toItem: nil, + attribute: .notAnAttribute, + multiplier: 1, + constant: 0 + ) + let constraint2: NSLayoutConstraint = .init( + item: view, + attribute: .width, + relatedBy: .equal, + toItem: nil, + attribute: .notAnAttribute, + multiplier: 1, + constant: 0 + ) + let constraints: [NSLayoutConstraint] = [constraint1, constraint2] + + // THEN + + expect(constraint1.priority) == .required + expect(constraint2.priority) == .required + + // WHEN + + let highPriorityConstraints: [NSLayoutConstraint] = constraints.withPriority(.high) + + // THEN + + expect(constraint1.priority) == .high + expect(constraint2.priority) == .high + expect(highPriorityConstraints) == constraints + } + + func testPrioritize() { + + // GIVEN + + let view: UIView = .init() + let constraint1: NSLayoutConstraint = .init( + item: view, + attribute: .height, + relatedBy: .equal, + toItem: nil, + attribute: .notAnAttribute, + multiplier: 1, + constant: 0 + ) + let constraint2: NSLayoutConstraint = .init( + item: view, + attribute: .width, + relatedBy: .equal, + toItem: nil, + attribute: .notAnAttribute, + multiplier: 1, + constant: 0 + ) + let constraints: [NSLayoutConstraint] = [constraint1, constraint2] + + // THEN + + expect(constraint1.priority) == .required + expect(constraint2.priority) == .required + + // WHEN + + constraints.prioritize(.high) + + // THEN + + expect(constraint1.priority) == .high + expect(constraint2.priority) == .high + } +} diff --git a/Tests/LayoutTests/NSLayoutConstraintTests.swift b/Tests/LayoutTests/NSLayoutConstraintTests.swift index 644b0fc3..c71fd838 100644 --- a/Tests/LayoutTests/NSLayoutConstraintTests.swift +++ b/Tests/LayoutTests/NSLayoutConstraintTests.swift @@ -221,136 +221,4 @@ final class NSLayoutConstraintTests: XCTestCase { expect(horizontalAxis.attribute) == .centerX expect(verticalAxis.attribute) == .centerY } - - func testBatchActivation() { - - // GIVEN - - let view: UIView = .init() - let constraint1: NSLayoutConstraint = .init( - item: view, - attribute: .height, - relatedBy: .equal, - toItem: nil, - attribute: .notAnAttribute, - multiplier: 1, - constant: 0 - ) - let constraint2: NSLayoutConstraint = .init( - item: view, - attribute: .width, - relatedBy: .equal, - toItem: nil, - attribute: .notAnAttribute, - multiplier: 1, - constant: 0 - ) - let constraints: [NSLayoutConstraint] = [constraint1, constraint2] - - // THEN - - expect(constraint1.isActive) == false - expect(constraint2.isActive) == false - - // WHEN - - let activatedConstraints: [NSLayoutConstraint] = constraints.activate() - - // THEN - - expect(constraint1.isActive) == true - expect(constraint2.isActive) == true - expect(activatedConstraints) == constraints - - // WHEN - - let deactivatedConstraints: [NSLayoutConstraint] = constraints.deactivate() - - // THEN - - expect(constraint1.isActive) == false - expect(constraint2.isActive) == false - expect(deactivatedConstraints) == constraints - } - - func testBatch_withPriority() { - - // GIVEN - - let view: UIView = .init() - let constraint1: NSLayoutConstraint = .init( - item: view, - attribute: .height, - relatedBy: .equal, - toItem: nil, - attribute: .notAnAttribute, - multiplier: 1, - constant: 0 - ) - let constraint2: NSLayoutConstraint = .init( - item: view, - attribute: .width, - relatedBy: .equal, - toItem: nil, - attribute: .notAnAttribute, - multiplier: 1, - constant: 0 - ) - let constraints: [NSLayoutConstraint] = [constraint1, constraint2] - - // THEN - - expect(constraint1.priority) == .required - expect(constraint2.priority) == .required - - // WHEN - - let highPriorityConstraints: [NSLayoutConstraint] = constraints.withPriority(.high) - - // THEN - - expect(constraint1.priority) == .high - expect(constraint2.priority) == .high - expect(highPriorityConstraints) == constraints - } - - func testBatch_prioritize() { - - // GIVEN - - let view: UIView = .init() - let constraint1: NSLayoutConstraint = .init( - item: view, - attribute: .height, - relatedBy: .equal, - toItem: nil, - attribute: .notAnAttribute, - multiplier: 1, - constant: 0 - ) - let constraint2: NSLayoutConstraint = .init( - item: view, - attribute: .width, - relatedBy: .equal, - toItem: nil, - attribute: .notAnAttribute, - multiplier: 1, - constant: 0 - ) - let constraints: [NSLayoutConstraint] = [constraint1, constraint2] - - // THEN - - expect(constraint1.priority) == .required - expect(constraint2.priority) == .required - - // WHEN - - constraints.prioritize(.high) - - // THEN - - expect(constraint1.priority) == .high - expect(constraint2.priority) == .high - } }