1+ //
2+ // FastAccessTests.swift
3+ // ManualLayout
4+ //
5+ // Created by Baris Sencan on 24/02/15.
6+ // Copyright (c) 2015 Baris Sencan. All rights reserved.
7+ //
8+
9+ import UIKit
10+ import XCTest
11+ import ManualLayout
12+
13+ class FastAccessTests : XCTestCase {
14+ let view = UIView ( frame: CGRectZero)
15+ let defaultFrame = CGRect ( x: 1 , y: 3 , width: 6 , height: 8 )
16+
17+ override func setUp( ) {
18+ view. frame = defaultFrame
19+ }
20+
21+ func testOrigin( ) {
22+ let newOrigin = CGPoint ( x: 10 , y: 10 )
23+ view. origin = newOrigin
24+ XCTAssertEqual (
25+ view. frame. origin,
26+ newOrigin,
27+ " origin changes should modify frame origin " )
28+ XCTAssertEqual (
29+ view. frame. size,
30+ defaultFrame. size,
31+ " origin changes should not modify frame size " )
32+ }
33+
34+ func testX( ) {
35+ view. x = 10
36+ XCTAssertEqual (
37+ view. frame. origin,
38+ CGPoint ( x: 10 , y: defaultFrame. origin. y) ,
39+ " x changes should just modify frame x " )
40+ XCTAssertEqual (
41+ view. frame. size,
42+ defaultFrame. size,
43+ " x changes should not modify frame size " )
44+ }
45+
46+ func testY( ) {
47+ view. y = 10
48+ XCTAssertEqual (
49+ view. frame. origin,
50+ CGPoint ( x: defaultFrame. origin. x, y: 10 ) ,
51+ " y changes should just modify frame y " )
52+ XCTAssertEqual (
53+ view. frame. size,
54+ defaultFrame. size,
55+ " y changes should not modify frame size " )
56+ }
57+
58+ func testCenter( ) {
59+ view. layer. center = CGPoint ( x: 10 , y: 10 )
60+ XCTAssertEqual (
61+ view. frame. origin,
62+ CGPoint ( x: 7 , y: 6 ) ,
63+ " center changes should center frame " )
64+ XCTAssertEqual (
65+ view. frame. size,
66+ defaultFrame. size,
67+ " center changes should not modify frame size " )
68+ }
69+
70+ func testCenterX( ) {
71+ view. centerX = 10
72+ XCTAssertEqual (
73+ view. frame. origin,
74+ CGPoint ( x: 7 , y: defaultFrame. origin. y) ,
75+ " centerX changes should center frame " )
76+ XCTAssertEqual (
77+ view. frame. size,
78+ defaultFrame. size,
79+ " centerX changes should not modify frame size " )
80+ }
81+
82+ func testCenterY( ) {
83+ view. centerY = 10
84+ XCTAssertEqual (
85+ view. frame. origin,
86+ CGPoint ( x: defaultFrame. origin. x, y: 6 ) ,
87+ " centerY changes should center frame " )
88+ XCTAssertEqual (
89+ view. frame. size,
90+ defaultFrame. size,
91+ " centerY changes should not modify frame size " )
92+ }
93+
94+ func testSize( ) {
95+ view. size = CGSizeZero
96+ XCTAssertEqual (
97+ view. frame. origin,
98+ defaultFrame. origin,
99+ " size changes should not modify frame origin " )
100+ XCTAssertEqual (
101+ view. frame. size,
102+ CGSizeZero,
103+ " size changes should modify frame size " )
104+ }
105+
106+ func testWidth( ) {
107+ view. width = 10
108+ XCTAssertEqual (
109+ view. frame. origin,
110+ defaultFrame. origin,
111+ " width changes should not modify frame origin " )
112+ XCTAssertEqual (
113+ view. frame. size,
114+ CGSize ( width: 10 , height: defaultFrame. size. height) ,
115+ " width changes should just modify frame width " )
116+ }
117+
118+ func testHeight( ) {
119+ view. height = 10
120+ XCTAssertEqual (
121+ view. frame. origin,
122+ defaultFrame. origin,
123+ " height changes should not modify frame origin " )
124+ XCTAssertEqual (
125+ view. frame. size,
126+ CGSize ( width: defaultFrame. size. width, height: 10 ) ,
127+ " height changes should just modify frame height " )
128+ }
129+
130+ func testTop( ) {
131+ view. top = 10
132+ XCTAssertEqual (
133+ view. frame. origin,
134+ CGPoint ( x: defaultFrame. origin. x, y: 10 ) ,
135+ " top changes should just modify frame y " )
136+ XCTAssertEqual (
137+ view. frame. size,
138+ defaultFrame. size,
139+ " top changes should not modify frame size " )
140+ }
141+
142+ func testRight( ) {
143+ view. right = 10
144+ XCTAssertEqual (
145+ view. frame. origin,
146+ CGPoint ( x: 10 - defaultFrame. size. width, y: defaultFrame. origin. y) ,
147+ " right changes should just modify frame x " )
148+ XCTAssertEqual (
149+ view. frame. size,
150+ defaultFrame. size,
151+ " right changes should not modify frame size " )
152+ }
153+
154+ func testBottom( ) {
155+ view. bottom = 10
156+ XCTAssertEqual (
157+ view. frame. origin,
158+ CGPoint ( x: defaultFrame. origin. x, y: 10 - defaultFrame. size. height) ,
159+ " bottom changes should just modify frame y " )
160+ XCTAssertEqual (
161+ view. frame. size,
162+ defaultFrame. size,
163+ " bottom changes should not modify frame size " )
164+ }
165+
166+ func testLeft( ) {
167+ view. left = 10
168+ XCTAssertEqual (
169+ view. frame. origin,
170+ CGPoint ( x: 10 , y: defaultFrame. origin. y) ,
171+ " left changes should just modify frame x " )
172+ XCTAssertEqual (
173+ view. frame. size,
174+ defaultFrame. size,
175+ " left changes should not modify frame size " )
176+ }
177+
178+ func testTop2( ) {
179+ view. top2 = 5
180+ XCTAssertEqual (
181+ view. frame. origin,
182+ CGPoint ( x: defaultFrame. origin. x, y: 5 ) ,
183+ " top2 changes without a swap should just modify frame y " )
184+ XCTAssertEqual (
185+ view. frame. size,
186+ CGSize ( width: defaultFrame. size. width, height: 6 ) ,
187+ " top2 changes without a swap should modify frame size " )
188+ // TODO: Test swap behavior.
189+ }
190+
191+ func testRight2( ) {
192+ view. right2 = 5
193+ XCTAssertEqual (
194+ view. frame. origin,
195+ defaultFrame. origin,
196+ " right2 changes without a swap should not modify frame origin " )
197+ XCTAssertEqual (
198+ view. frame. size,
199+ CGSize ( width: 4 , height: defaultFrame. size. height) ,
200+ " right2 changes without a swap should modify frame size " )
201+ // TODO: Test swap behavior.
202+ }
203+
204+ func testBottom2( ) {
205+ view. bottom2 = 5
206+ XCTAssertEqual (
207+ view. frame. origin,
208+ defaultFrame. origin,
209+ " bottom2 changes without a swap should not modify frame origin " )
210+ XCTAssertEqual (
211+ view. frame. size,
212+ CGSize ( width: defaultFrame. size. width, height: 2 ) ,
213+ " bottom2 changes without a swap should modify frame size " )
214+ // TODO: Test swap behavior.
215+ }
216+
217+ func testLeft2( ) {
218+ view. left2 = 5
219+ XCTAssertEqual (
220+ view. frame. origin,
221+ CGPoint ( x: 5 , y: defaultFrame. origin. y) ,
222+ " left2 changes without a swap should just modify frame x " )
223+ XCTAssertEqual (
224+ view. frame. size,
225+ CGSize ( width: 2 , height: defaultFrame. size. height) ,
226+ " left2 changes without a swap should modify frame size " )
227+ // TODO: Test swap behavior.
228+ }
229+ }
0 commit comments