/
MSACBinaryTests.m
122 lines (89 loc) · 2.96 KB
/
MSACBinaryTests.m
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#import "MSACBinary.h"
#import "MSACTestFrameworks.h"
@interface MSACBinaryTests : XCTestCase
@end
@implementation MSACBinaryTests
#pragma mark - Tests
- (void)testSerializingBinaryToDictionaryWorks {
// If
MSACBinary *sut = [self binary];
// When
NSMutableDictionary *actual = [sut serializeToDictionary];
// Then
assertThat(actual, notNilValue());
assertThat(actual[@"id"], equalTo(sut.binaryId));
assertThat(actual[@"startAddress"], equalTo(sut.startAddress));
assertThat(actual[@"endAddress"], equalTo(sut.endAddress));
assertThat(actual[@"name"], equalTo(sut.name));
assertThat(actual[@"path"], equalTo(sut.path));
assertThat(actual[@"architecture"], equalTo(sut.architecture));
assertThat(actual[@"primaryArchitectureId"], equalTo(sut.primaryArchitectureId));
assertThat(actual[@"architectureVariantId"], equalTo(sut.architectureVariantId));
assertThat(actual.description, equalTo([sut description]));
}
- (void)testNSCodingSerializationAndDeserializationWorks {
// If
MSACBinary *sut = [self binary];
// When
NSData *serializedEvent = [MSACUtility archiveKeyedData:sut];
id actual = [MSACUtility unarchiveKeyedData:serializedEvent];
// Then
assertThat(actual, notNilValue());
assertThat(actual, instanceOf([MSACBinary class]));
MSACBinary *actualBinary = actual;
assertThat(actualBinary, equalTo(actual));
assertThat(actualBinary.binaryId, equalTo(sut.binaryId));
assertThat(actualBinary.startAddress, equalTo(sut.startAddress));
assertThat(actualBinary.endAddress, equalTo(sut.endAddress));
assertThat(actualBinary.name, equalTo(sut.name));
assertThat(actualBinary.path, equalTo(sut.path));
assertThat(actualBinary.architecture, equalTo(sut.architecture));
assertThat(actualBinary.primaryArchitectureId, equalTo(sut.primaryArchitectureId));
assertThat(actualBinary.architectureVariantId, equalTo(sut.architectureVariantId));
}
- (void)testIsValid {
// If
MSACBinary *sut = [MSACBinary new];
// Then
XCTAssertFalse([sut isValid]);
// When
sut.binaryId = @"binaryId";
// Then
XCTAssertFalse([sut isValid]);
// When
sut.startAddress = @"startAddress";
// Then
XCTAssertFalse([sut isValid]);
// When
sut.endAddress = @"endAddress";
// Then
XCTAssertFalse([sut isValid]);
// When
sut.name = @"name";
// Then
XCTAssertFalse([sut isValid]);
// When
sut.path = @"path";
// Then
XCTAssertTrue([sut isValid]);
}
- (void)testIsNotEqualToNil {
// Then
XCTAssertFalse([[MSACBinary new] isEqual:nil]);
}
#pragma mark - Helper
- (MSACBinary *)binary {
MSACBinary *binary = [MSACBinary new];
binary.binaryId = @"binaryId";
binary.startAddress = @"startAddress";
binary.endAddress = @"endAddress";
binary.name = @"name";
binary.path = @"path";
binary.architecture = @"architecture";
binary.primaryArchitectureId = @12;
binary.architectureVariantId = @23;
return binary;
}
@end