Skip to content

Commit

Permalink
Move tests
Browse files Browse the repository at this point in the history
  • Loading branch information
tinder-garricnahapetian committed Oct 25, 2023
1 parent ebd6ed9 commit 990c7c4
Show file tree
Hide file tree
Showing 2 changed files with 148 additions and 132 deletions.
148 changes: 148 additions & 0 deletions Tests/LayoutTests/ArrayTests.swift
Original file line number Diff line number Diff line change
@@ -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
}
}
132 changes: 0 additions & 132 deletions Tests/LayoutTests/NSLayoutConstraintTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
}

0 comments on commit 990c7c4

Please sign in to comment.