@@ -10,27 +10,61 @@ import XCTest
10
10
@testable import YCoreUI
11
11
12
12
final class UIViewContrainAspectRatioTests : XCTestCase {
13
- func testSimple( ) {
13
+ func test_constrainAspectRatio_deliversDefaultValues( ) {
14
+ // Arrange
14
15
let sut = makeSUT ( )
15
- XCTAssert ( sut. translatesAutoresizingMaskIntoConstraints)
16
- sut. frame = CGRect ( x: 0 , y: 0 , width: 100 , height: 500 )
17
- sut. constrainAspectRatio ( 0.5 )
18
- // XCTAssertEqual(sut.frame.height, sut.frame.width * 0.5)
16
+ // Act
17
+ let constraint = sut. constrainAspectRatio ( 0.5 )
18
+ // Assert
19
+ XCTAssertEqual ( constraint. constant, . zero)
20
+ XCTAssertEqual ( constraint. priority, . required)
21
+ XCTAssertTrue ( constraint. isActive)
22
+ XCTAssertEqual ( constraint. relation, . equal)
23
+ XCTAssertEqual ( constraint. firstAttribute, . width)
24
+ XCTAssertEqual ( constraint. secondAttribute, . height)
19
25
}
20
26
21
- func testOffset( ) {
27
+ func test_constrainAspectRatio_translatesAutoResizingMaskIsFalse( ) {
28
+ // Arrange
22
29
let sut = makeSUT ( )
23
- var randomOffset : CGFloat = CGFloat . random ( in: 0 ..< 500 )
24
- let constraint = sut. constrainAspectRatio ( 0.5 , offset: randomOffset)
25
- XCTAssertEqual ( constraint. constant, randomOffset)
30
+ // Act
31
+ sut. constrainAspectRatio ( 0.5 )
32
+ // Assert
33
+ XCTAssertFalse ( sut. translatesAutoresizingMaskIntoConstraints)
26
34
}
27
-
28
- func testPriority( ) {
35
+
36
+ func test_constrainAspectRatio_deliversMultiplierForTheGivenRatio( ) {
37
+ // Arrange
29
38
let sut = makeSUT ( )
30
- let randomPriority : UILayoutPriority = UILayoutPriority ( Float . random ( in: 1 ... 1000 ) )
31
- let constraint = sut. constrainAspectRatio ( 0.5 , priority: randomPriority)
32
- XCTAssertEqual ( constraint. priority, randomPriority)
39
+ // Act
40
+ let constraint = sut. constrainAspectRatio ( 0.5 )
41
+ // Assert
42
+ XCTAssertEqual ( constraint. multiplier, 0.5 )
33
43
}
44
+
45
+ // func test_constrainAspectRatio_layoutsSUT() {
46
+ // // Arrange
47
+ // let containerView = UIView()
48
+ // containerView.translatesAutoresizingMaskIntoConstraints = false
49
+ //
50
+ // containerView.heightAnchor.constraint(equalToConstant: 500).isActive = true
51
+ // containerView.widthAnchor.constraint(equalToConstant: 500).isActive = true
52
+ //
53
+ // containerView.layoutIfNeeded()
54
+ //
55
+ //
56
+ //
57
+ // let sut = makeSUT()
58
+ //
59
+ // // Act
60
+ // sut.constrainAspectRatio(0.5)
61
+ //
62
+ // sut.layoutIfNeeded()
63
+ //
64
+ //
65
+ //
66
+ // XCTAssertEqual(sut.frame.height, sut.frame.width * 0.5)
67
+ // }
34
68
}
35
69
36
70
private extension UIViewContrainAspectRatioTests {
0 commit comments