@@ -57,38 +57,119 @@ class DataStoreTests: XCTestCase {
57
57
58
58
XCTAssert ( v2 == value)
59
59
}
60
+
61
+ func testUserDefaults2( ) {
62
+ let ds = DataStoreUserDefaults ( )
63
+ let data = " {} " . data ( using: . utf8)
64
+
65
+ ds. saveItem ( forKey: " item " , value: [ data] )
66
+
67
+ var item = ds. getItem ( forKey: " item " ) as? [ Data ]
68
+
69
+ XCTAssertNotNil ( item)
70
+
71
+ ds. removeItem ( forKey: " item " )
72
+
73
+ item = ds. getItem ( forKey: " item " ) as? [ Data ]
74
+
75
+ XCTAssertNil ( item)
76
+ }
60
77
61
78
func testBackgroundSave( ) {
62
- let datastore = DataStoreMemory < String > ( storeName: " testingBackgroundSave " )
63
-
64
- datastore. saveItem ( forKey: " testString1 " , value: " value " )
79
+ let datastore = DataStoreMemory < [ String ] > ( storeName: " testBackgroundSave " )
80
+
81
+ let key = " testBackgroundSave "
82
+ datastore. saveItem ( forKey: key, value: [ " value " ] )
83
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
84
+
85
+ datastore. applicationDidEnterBackground ( )
86
+ datastore. saveItem ( forKey: key, value: [ " v " ] )
87
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
88
+
89
+ datastore. applicationDidBecomeActive ( )
90
+
91
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
92
+ XCTAssertNotNil ( datastore. data)
93
+
94
+ datastore. load ( forKey: key)
95
+
96
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
97
+ XCTAssertEqual ( datastore. data, [ " value " ] )
98
+
99
+ datastore. removeItem ( forKey: key)
100
+ }
101
+
102
+ func testBackgroundSaveUserDefaults( ) {
103
+ let datastore = DataStoreMemory < String > ( storeName: " testBackgroundSaveUserDefaults " , backupStore: DataStoreMemory . BackingStore. UserDefaults)
65
104
105
+ let key = " testBackgroundSaveUserDefaults "
106
+ datastore. saveItem ( forKey: key, value: " value " )
107
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
108
+
66
109
datastore. applicationDidEnterBackground ( )
67
-
110
+ datastore. saveItem ( forKey: key, value: " v " )
111
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
112
+
68
113
datastore. applicationDidBecomeActive ( )
69
114
115
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
70
116
XCTAssertNotNil ( datastore. data)
71
117
72
- datastore. save ( forKey: " testString1 " , value: 100 )
73
-
74
- datastore. load ( forKey: " testingBackgroundSave " )
118
+ datastore. load ( forKey: key)
75
119
120
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
76
121
XCTAssertEqual ( datastore. data, " value " )
122
+
123
+ datastore. removeItem ( forKey: key)
77
124
}
78
125
79
126
func testFileStore( ) {
80
127
// simple file store test
81
128
82
- let datastore = DataStoreFile < [ String ] > ( storeName: " testingDataStoreFile " )
129
+ let datastore = DataStoreFile < [ String ] > ( storeName: " testFileStore " )
83
130
84
131
datastore. saveItem ( forKey: " testString " , value: [ " value " ] )
85
132
86
133
let vj = datastore. getItem ( forKey: " testString " ) as! [ String ]
87
134
88
135
XCTAssert ( vj. first == " value " )
89
136
137
+ datastore. removeItem ( forKey: " testString " )
138
+
90
139
}
91
140
141
+ func testFileStoreString( ) {
142
+ let datastore = DataStoreFile < String > ( storeName: " testFileStoreString " )
143
+
144
+ let key = " testFileStoreString "
145
+ datastore. saveItem ( forKey: key, value: " value " )
146
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
147
+
148
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
149
+ let item = datastore. getItem ( forKey: key) as? String
150
+
151
+ XCTAssertEqual ( item, " value " )
152
+
153
+ datastore. removeItem ( forKey: key)
154
+ }
155
+
156
+ func testFileStoreInt( ) {
157
+ let datastore = DataStoreFile < Int > ( storeName: " testFileStoreInt " )
158
+
159
+ let key = " testFileStoreInt "
160
+ datastore. saveItem ( forKey: key, value: 5 )
161
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
162
+
163
+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
164
+ let item = datastore. getItem ( forKey: key) as? Int
165
+
166
+ XCTAssertEqual ( item, 5 )
167
+
168
+ datastore. removeItem ( forKey: key)
169
+ }
170
+
171
+
172
+
92
173
func testUserDefaults( ) {
93
174
// simple user defaults test
94
175
@@ -100,6 +181,8 @@ class DataStoreTests: XCTestCase {
100
181
101
182
XCTAssert ( value == " value " )
102
183
184
+ datastore. removeItem ( forKey: " testString " )
185
+
103
186
}
104
187
105
188
func testUserDefaultsTooBig( ) {
0 commit comments