Skip to content

Commit

Permalink
Merge pull request #9 from jrsaruo/test/increase-coverage
Browse files Browse the repository at this point in the history
Increase coverage
  • Loading branch information
jrsaruo committed Jan 10, 2022
2 parents ae6f5fd + 5e08bdf commit 5413eb1
Show file tree
Hide file tree
Showing 16 changed files with 277 additions and 65 deletions.
65 changes: 0 additions & 65 deletions Tests/AceLayoutTests/CommonTests.swift

This file was deleted.

70 changes: 70 additions & 0 deletions Tests/AceLayoutTests/LayoutConstraintsBuilderTests.swift
@@ -0,0 +1,70 @@
//
// LayoutConstraintsBuilderTests.swift
//
//
// Created by Yusaku Nishi on 2022/01/09.
//

import XCTest
import AceLayout

final class LayoutConstraintsBuilderTests: XCTestCase {

private var view: AL.View!
private let conditionTrue = true

override func setUp() {
super.setUp()
view = AL.View()
}

override func tearDown() {
super.tearDown()
view = nil
}

func testVoidExpression() {
func doNothing() {}
let constraints = view.autoLayout { item in
doNothing()
}
XCTAssert(constraints.isEmpty)
}

func testIfStatement() {
let constraints = view.autoLayout { item in
if conditionTrue {
item.width.equal(to: 100)
}
if !conditionTrue {
item.height.equal(to: 50)
}
}
let expectedConstraints = [
view.widthAnchor.constraint(equalToConstant: 100)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}

func testIfElseStatement() {
let constraints = view.autoLayout { item in
if conditionTrue {
item.width.equal(to: 100)
} else {
item.height.equal(to: 100)
}
if !conditionTrue {
item.width.equal(to: 50)
} else {
item.height.equal(to: 50)
}
}
let expectedConstraints = [
view.widthAnchor.constraint(equalToConstant: 100),
view.heightAnchor.constraint(equalToConstant: 50)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
}
38 changes: 38 additions & 0 deletions Tests/AceLayoutTests/LayoutTargetTests.swift
@@ -0,0 +1,38 @@
//
// LayoutTargetTests.swift
//
//
// Created by Yusaku Nishi on 2022/01/10.
//

import XCTest
import AceLayout

final class LayoutTargetTests: XCTestCase {

func testAutoLayout() {
XCTContext.runActivity(named: "translatesAutoresizingMaskIntoConstraints should become false") { _ in
let view = AL.View()
XCTAssert(view.translatesAutoresizingMaskIntoConstraints)
view.autoLayout { item in
item.width.equal(to: 100)
}
XCTAssertFalse(view.translatesAutoresizingMaskIntoConstraints)
}
XCTContext.runActivity(named: "isActive control") { _ in
let view = AL.View()
XCTContext.runActivity(named: "All isActive should become true by default") { _ in
let constraints = view.autoLayout { item in
item.size.equal(toSquare: 100)
}
XCTAssert(constraints.allSatisfy { $0.isActive })
}
XCTContext.runActivity(named: "All isActive should be false when activates: false") { _ in
let constraints = view.autoLayout(activates: false) { item in
item.size.equal(toSquare: 100)
}
XCTAssert(constraints.allSatisfy { !$0.isActive })
}
}
}
}
Expand Up @@ -204,6 +204,45 @@ final class UILayoutGuideEqualToUILayoutGuideConstraintTests: XCTestCase {
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
XCTContext.runActivity(named: "equal(to another:, insetBy:)") { _ in
XCTContext.runActivity(named: "insetBy insets: AL.EdgeInsets") { _ in
let layoutMarginsGuide = superview.layoutMarginsGuide
let insets = AL.EdgeInsets(top: 10, left: 20, bottom: 30, right: 40)
let constraints = layoutGuide.autoLayout { item in
item.edges.equal(to: layoutMarginsGuide, insetBy: insets)
}
let expectedConstraints = [
layoutGuide.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor,
constant: 10),
layoutGuide.leftAnchor.constraint(equalTo: layoutMarginsGuide.leftAnchor,
constant: 20),
layoutGuide.rightAnchor.constraint(equalTo: layoutMarginsGuide.rightAnchor,
constant: -40),
layoutGuide.bottomAnchor.constraint(equalTo: layoutMarginsGuide.bottomAnchor,
constant: -30)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
XCTContext.runActivity(named: "insetBy inset: CGFloat") { _ in
let layoutMarginsGuide = superview.layoutMarginsGuide
let constraints = layoutGuide.autoLayout { item in
item.edges.equal(to: layoutMarginsGuide, insetBy: 20)
}
let expectedConstraints = [
layoutGuide.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor,
constant: 20),
layoutGuide.leftAnchor.constraint(equalTo: layoutMarginsGuide.leftAnchor,
constant: 20),
layoutGuide.rightAnchor.constraint(equalTo: layoutMarginsGuide.rightAnchor,
constant: -20),
layoutGuide.bottomAnchor.constraint(equalTo: layoutMarginsGuide.bottomAnchor,
constant: -20)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
}
XCTContext.runActivity(named: "insideOrEqual(to another:, insetBy:)") { _ in
XCTContext.runActivity(named: "insetBy insets: AL.EdgeInsets") { _ in
let layoutMarginsGuide = superview.layoutMarginsGuide
Expand Down
Expand Up @@ -285,6 +285,35 @@ final class UILayoutGuideEqualToUIViewConstraintTests: XCTestCase {
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
XCTContext.runActivity(named: "equal(to another:, insetBy:)") { _ in
XCTContext.runActivity(named: "insetBy insets: AL.EdgeInsets") { _ in
let insets = AL.EdgeInsets(top: 10, left: 20, bottom: 30, right: 40)
let constraints = layoutGuide.autoLayout { item in
item.edges.equal(to: superview, insetBy: insets)
}
let expectedConstraints = [
layoutGuide.topAnchor.constraint(equalTo: superview.topAnchor, constant: 10),
layoutGuide.leftAnchor.constraint(equalTo: superview.leftAnchor, constant: 20),
layoutGuide.rightAnchor.constraint(equalTo: superview.rightAnchor, constant: -40),
layoutGuide.bottomAnchor.constraint(equalTo: superview.bottomAnchor, constant: -30)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
XCTContext.runActivity(named: "insetBy inset: CGFloat") { _ in
let constraints = layoutGuide.autoLayout { item in
item.edges.equal(to: superview, insetBy: 20)
}
let expectedConstraints = [
layoutGuide.topAnchor.constraint(equalTo: superview.topAnchor, constant: 20),
layoutGuide.leftAnchor.constraint(equalTo: superview.leftAnchor, constant: 20),
layoutGuide.rightAnchor.constraint(equalTo: superview.rightAnchor, constant: -20),
layoutGuide.bottomAnchor.constraint(equalTo: superview.bottomAnchor, constant: -20)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
}
XCTContext.runActivity(named: "insideOrEqual(to another:, insetBy:)") { _ in
XCTContext.runActivity(named: "insetBy insets: AL.EdgeInsets") { _ in
let insets = AL.EdgeInsets(top: 10, left: 20, bottom: 30, right: 40)
Expand Down
Expand Up @@ -220,6 +220,37 @@ final class UIViewEqualToUILayoutGuideConstraintTests: XCTestCase {
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
XCTContext.runActivity(named: "equal(to another:, insetBy:)") { _ in
XCTContext.runActivity(named: "insetBy insets: AL.EdgeInsets") { _ in
let layoutMarginsGuide = superview.layoutMarginsGuide
let insets = AL.EdgeInsets(top: 10, left: 20, bottom: 30, right: 40)
let constraints = subview.autoLayout { item in
item.edges.equal(to: layoutMarginsGuide, insetBy: insets)
}
let expectedConstraints = [
subview.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor, constant: 10),
subview.leftAnchor.constraint(equalTo: layoutMarginsGuide.leftAnchor, constant: 20),
subview.rightAnchor.constraint(equalTo: layoutMarginsGuide.rightAnchor, constant: -40),
subview.bottomAnchor.constraint(equalTo: layoutMarginsGuide.bottomAnchor, constant: -30)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
XCTContext.runActivity(named: "insetBy inset: CGFloat") { _ in
let layoutMarginsGuide = superview.layoutMarginsGuide
let constraints = subview.autoLayout { item in
item.edges.equal(to: layoutMarginsGuide, insetBy: 20)
}
let expectedConstraints = [
subview.topAnchor.constraint(equalTo: layoutMarginsGuide.topAnchor, constant: 20),
subview.leftAnchor.constraint(equalTo: layoutMarginsGuide.leftAnchor, constant: 20),
subview.rightAnchor.constraint(equalTo: layoutMarginsGuide.rightAnchor, constant: -20),
subview.bottomAnchor.constraint(equalTo: layoutMarginsGuide.bottomAnchor, constant: -20)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
}
XCTContext.runActivity(named: "insideOrEqual(to another:, insetBy:)") { _ in
XCTContext.runActivity(named: "insetBy insets: AL.EdgeInsets") { _ in
let layoutMarginsGuide = superview.layoutMarginsGuide
Expand Down
Expand Up @@ -322,6 +322,35 @@ final class UIViewEqualToUIViewConstraintTests: XCTestCase {
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
XCTContext.runActivity(named: "equal(to another:, insetBy:)") { _ in
XCTContext.runActivity(named: "insetBy insets: AL.EdgeInsets") { _ in
let insets = AL.EdgeInsets(top: 10, left: 20, bottom: 30, right: 40)
let constraints = subview.autoLayout { item in
item.edges.equal(to: superview, insetBy: insets)
}
let expectedConstraints = [
subview.topAnchor.constraint(equalTo: superview.topAnchor, constant: 10),
subview.leftAnchor.constraint(equalTo: superview.leftAnchor, constant: 20),
subview.rightAnchor.constraint(equalTo: superview.rightAnchor, constant: -40),
subview.bottomAnchor.constraint(equalTo: superview.bottomAnchor, constant: -30)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
XCTContext.runActivity(named: "insetBy inset: CGFloat") { _ in
let constraints = subview.autoLayout { item in
item.edges.equal(to: superview, insetBy: 20)
}
let expectedConstraints = [
subview.topAnchor.constraint(equalTo: superview.topAnchor, constant: 20),
subview.leftAnchor.constraint(equalTo: superview.leftAnchor, constant: 20),
subview.rightAnchor.constraint(equalTo: superview.rightAnchor, constant: -20),
subview.bottomAnchor.constraint(equalTo: superview.bottomAnchor, constant: -20)
]
NSLayoutConstraint.activate(expectedConstraints)
assertEqual(constraints, expectedConstraints)
}
}
XCTContext.runActivity(named: "insideOrEqual(to another:, insetBy:)") { _ in
XCTContext.runActivity(named: "insetBy insets: AL.EdgeInsets") { _ in
let insets = AL.EdgeInsets(top: 10, left: 20, bottom: 30, right: 40)
Expand Down
41 changes: 41 additions & 0 deletions Tests/AceLayoutTests/NSLayoutConstraintExtensionTests.swift
@@ -0,0 +1,41 @@
//
// NSLayoutConstraintExtensionTests.swift
//
//
// Created by Yusaku Nishi on 2021/12/16.
//

import XCTest
import AceLayout

final class NSLayoutConstraintExtensionTests: XCTestCase {

private var superview: AL.View!
private var subview: AL.View!

override func setUp() {
super.setUp()

superview = AL.View()
subview = AL.View()
superview.addSubview(subview)
}

override func tearDown() {
super.tearDown()

subview.removeFromSuperview()
subview = nil
superview = nil
}

func testPriority() {
let constraints = subview.autoLayout { item in
item.width.equal(to: 100)
item.height.equal(to: 100).priority(.defaultLow)
item.center.equal(to: superview).priority(.defaultHigh)
}
XCTAssertEqual(constraints.map { $0.priority },
[.required, .defaultLow, .defaultHigh, .defaultHigh])
}
}

0 comments on commit 5413eb1

Please sign in to comment.