@@ -14,71 +14,75 @@ class EntityStoreTests: XCTestCase {
14
14
let entityStore = EntityStore ( )
15
15
16
16
withExtendedLifetime ( entityStore. store ( entity: entity) ) { _ in
17
- XCTAssertNotNil ( entityStore. storage [ SingleNodeFixture . self, id: 1 ] )
18
- XCTAssertNotNil ( entityStore. storage [ OptionalNodeFixture . self, id: 1 ] )
19
- XCTAssertNotNil ( entityStore. storage [ ListNodeFixture . self, id: 1 ] )
17
+ XCTAssertNotNil ( entityStore. find ( SingleNodeFixture . self, id: 1 ) )
18
+ XCTAssertNotNil ( entityStore. find ( OptionalNodeFixture . self, id: 1 ) )
19
+ XCTAssertNotNil ( entityStore. find ( ListNodeFixture . self, id: 1 ) )
20
20
}
21
21
}
22
22
23
- func test_storeAggregate_nestedEntityReplacedByNil_entityIsUpdated_aggregateEntityRemainsNil ( ) {
23
+ func test_storeAggregate_nestedEntitySetToNil_entityIsUpdated_aggregateNestedEntityRemainsNil ( ) throws {
24
24
let entityStore = EntityStore ( )
25
25
let nestedOptional = OptionalNodeFixture ( id: 1 )
26
26
var root = RootFixture ( id: 1 , primitive: " " , singleNode: SingleNodeFixture ( id: 1 ) , optional: nestedOptional, listNodes: [ ] )
27
27
28
- withExtendedLifetime ( entityStore. store ( entity: root) ) {
28
+ try withExtendedLifetime ( entityStore. store ( entity: root) ) {
29
29
root. optional = nil
30
30
31
31
_ = entityStore. store ( entity: root)
32
32
_ = entityStore. store ( entity: nestedOptional)
33
33
34
34
XCTAssertNotNil ( entityStore. find ( RootFixture . self, id: 1 ) )
35
35
XCTAssertNil ( entityStore. find ( RootFixture . self, id: 1 ) !. value. optional)
36
+ let root = try XCTUnwrap ( entityStore. find ( RootFixture . self, id: 1 ) )
37
+ XCTAssertNil ( root. value. optional)
36
38
}
37
39
}
38
40
39
41
/// check that removed relations do not trigger an update
40
- func test_storeAggregate_removeEntityFromNestedArray_removedEntityChange_aggregateArrayNotChanged( ) {
42
+ func test_storeAggregate_removeEntityFromNestedArray_removedEntityChange_aggregateArrayNotChanged( ) throws {
41
43
let entityStore = EntityStore ( )
42
44
var entityToRemove = ListNodeFixture ( id: 2 )
43
45
let nestedArray : [ ListNodeFixture ] = [ entityToRemove, ListNodeFixture ( id: 1 ) ]
44
46
var root = RootFixture ( id: 1 , primitive: " " , singleNode: SingleNodeFixture ( id: 1 ) , optional: OptionalNodeFixture ( id: 1 ) , listNodes: nestedArray)
45
47
46
- withExtendedLifetime ( entityStore. store ( entity: root) ) {
48
+ try withExtendedLifetime ( entityStore. store ( entity: root) ) {
47
49
root. listNodes = Array ( nestedArray [ 1 ... ] )
48
50
entityToRemove. key = " changed "
49
51
50
52
_ = entityStore. store ( entity: root)
51
53
_ = entityStore. store ( entity: entityToRemove)
52
54
53
- let storedRoot = entityStore. find ( RootFixture . self, id: 1 ) ! . value
55
+ let root = try XCTUnwrap ( entityStore. find ( RootFixture . self, id: 1 ) )
54
56
55
- XCTAssertFalse ( storedRoot . listNodes. contains ( entityToRemove) )
56
- XCTAssertFalse ( storedRoot . listNodes. map ( \. id) . contains ( entityToRemove. id) )
57
+ XCTAssertFalse ( root . value . listNodes. contains ( entityToRemove) )
58
+ XCTAssertFalse ( root . value . listNodes. map ( \. id) . contains ( entityToRemove. id) )
57
59
}
58
60
}
59
61
60
- func test_storeAggregate_nestedWrapperChanged_aggregateIsUpdated( ) {
62
+ func test_storeAggregate_nestedWrapperChanged_aggregateIsUpdated( ) throws {
61
63
let entityStore = EntityStore ( )
62
64
let root = RootFixture ( id: 1 , primitive: " " , singleNode: SingleNodeFixture ( id: 1 ) , optional: OptionalNodeFixture ( id: 1 ) , listNodes: [ ] , enumWrapper: . single( SingleNodeFixture ( id: 2 ) ) )
63
65
let updatedValue = SingleNodeFixture ( id: 2 , primitive: " updated " )
64
66
65
- withExtendedLifetime ( entityStore. store ( entity: root) ) {
67
+ try withExtendedLifetime ( entityStore. store ( entity: root) ) {
66
68
_ = entityStore. store ( entity: updatedValue)
67
- XCTAssertEqual ( entityStore. find ( RootFixture . self, id: 1 ) !. value. enumWrapper, . single( updatedValue) )
69
+ let root = try XCTUnwrap ( entityStore. find ( RootFixture . self, id: 1 ) )
70
+ XCTAssertEqual ( root. value. enumWrapper, . single( updatedValue) )
68
71
}
69
72
}
70
73
71
- func test_storeAggregate_nestedOptionalWrapperNullified_aggregateIsNullified( ) {
74
+ func test_storeAggregate_nestedOptionalWrapperNullified_aggregateIsNullified( ) throws {
72
75
let entityStore = EntityStore ( )
73
76
var root = RootFixture ( id: 1 , primitive: " " , singleNode: SingleNodeFixture ( id: 1 ) , optional: OptionalNodeFixture ( id: 1 ) , listNodes: [ ] , enumWrapper: . single( SingleNodeFixture ( id: 2 ) ) )
74
77
75
- withExtendedLifetime ( entityStore. store ( entity: root) ) {
78
+ try withExtendedLifetime ( entityStore. store ( entity: root) ) {
76
79
root. enumWrapper = nil
77
80
78
81
_ = entityStore. store ( entity: root)
79
82
_ = entityStore. store ( entity: SingleNodeFixture ( id: 2 , primitive: " deleted " ) )
80
83
81
- XCTAssertNil ( entityStore. find ( RootFixture . self, id: 1 ) !. value. enumWrapper)
84
+ let root = try XCTUnwrap ( entityStore. find ( RootFixture . self, id: 1 ) )
85
+ XCTAssertNil ( root. value. enumWrapper)
82
86
}
83
87
}
84
88
0 commit comments