MASViewAttributeSpec.m
3.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//
// MASViewAttributeSpec.m
// Masonry
//
// Created by Craig Siemens on 2013-10-09.
// Copyright 2013 Jonas Budelmann. All rights reserved.
//
#import "MASViewAttribute.h"
SpecBegin(MASViewAttributeSpec)
__block UIView *view;
__block MASViewAttribute *viewAttribute;
beforeEach(^{
view = [UIView new];
viewAttribute = [[MASViewAttribute alloc] initWithView:view layoutAttribute:NSLayoutAttributeLeft];
});
context(@"isEqual", ^{
it(@"should return YES whe the view and layoutAttribute are the same", ^{
MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:viewAttribute.view
layoutAttribute:viewAttribute.layoutAttribute];
expect([viewAttribute isEqual:otherViewAttribute]).to.equal(YES);
});
it(@"should return NO when the view is different but the layoutAttribute is the same", ^{
UIView *otherView = [UIView new];
MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:otherView
layoutAttribute:viewAttribute.layoutAttribute];
expect([viewAttribute isEqual:otherViewAttribute]).to.equal(NO);
});
it(@"should return NO when the view is the same but the layoutAttribute is different", ^{
MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:viewAttribute.view
layoutAttribute:NSLayoutAttributeRight];
expect([viewAttribute isEqual:otherViewAttribute]).to.equal(NO);
});
it(@"should return NO when the view is different and the layoutAttribute is different", ^{
UIView *otherView = [UIView new];
MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:otherView
layoutAttribute:NSLayoutAttributeRight];
expect([viewAttribute isEqual:otherViewAttribute]).to.equal(NO);
});
});
context(@"hash", ^{
it(@"should return the same hash when the view and layoutAttribute are the same", ^{
MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:viewAttribute.view
layoutAttribute:viewAttribute.layoutAttribute];
expect([viewAttribute hash]).to.equal([otherViewAttribute hash]);
});
it(@"should return a different hash when the view is different but the layoutAttribute is the same", ^{
UIView *otherView = [UIView new];
MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:otherView
layoutAttribute:viewAttribute.layoutAttribute];
expect([viewAttribute hash]).toNot.equal([otherViewAttribute hash]);
});
it(@"should return a different hash when the view is the same but the layoutAttribute is different", ^{
MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:viewAttribute.view
layoutAttribute:NSLayoutAttributeRight];
expect([viewAttribute hash]).toNot.equal([otherViewAttribute hash]);
});
it(@"should return a different hash when the view is different and the layoutAttribute is different", ^{
UIView *otherView = [UIView new];
MASViewAttribute *otherViewAttribute = [[MASViewAttribute alloc] initWithView:otherView
layoutAttribute:NSLayoutAttributeRight];
expect([viewAttribute hash]).toNot.equal([otherViewAttribute hash]);
});
});
SpecEnd