@@ -57,38 +57,119 @@ class DataStoreTests: XCTestCase {
5757
5858 XCTAssert ( v2 == value)
5959 }
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+ }
6077
6178 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)
65104
105+ let key = " testBackgroundSaveUserDefaults "
106+ datastore. saveItem ( forKey: key, value: " value " )
107+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
108+
66109 datastore. applicationDidEnterBackground ( )
67-
110+ datastore. saveItem ( forKey: key, value: " v " )
111+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
112+
68113 datastore. applicationDidBecomeActive ( )
69114
115+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
70116 XCTAssertNotNil ( datastore. data)
71117
72- datastore. save ( forKey: " testString1 " , value: 100 )
73-
74- datastore. load ( forKey: " testingBackgroundSave " )
118+ datastore. load ( forKey: key)
75119
120+ print ( " [DataStoreTest] \( String ( describing: datastore. getItem ( forKey: key) ) ) " )
76121 XCTAssertEqual ( datastore. data, " value " )
122+
123+ datastore. removeItem ( forKey: key)
77124 }
78125
79126 func testFileStore( ) {
80127 // simple file store test
81128
82- let datastore = DataStoreFile < [ String ] > ( storeName: " testingDataStoreFile " )
129+ let datastore = DataStoreFile < [ String ] > ( storeName: " testFileStore " )
83130
84131 datastore. saveItem ( forKey: " testString " , value: [ " value " ] )
85132
86133 let vj = datastore. getItem ( forKey: " testString " ) as! [ String ]
87134
88135 XCTAssert ( vj. first == " value " )
89136
137+ datastore. removeItem ( forKey: " testString " )
138+
90139 }
91140
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+
92173 func testUserDefaults( ) {
93174 // simple user defaults test
94175
@@ -100,6 +181,8 @@ class DataStoreTests: XCTestCase {
100181
101182 XCTAssert ( value == " value " )
102183
184+ datastore. removeItem ( forKey: " testString " )
185+
103186 }
104187
105188 func testUserDefaultsTooBig( ) {
0 commit comments