@@ -11,7 +11,7 @@ import XCTest
1111
1212final class BIP39Tests : XCTestCase {
1313
14- func testBIP39 ( ) throws {
14+ func testBIP39( ) throws {
1515 var entropy = Data . fromHex ( " 00000000000000000000000000000000 " ) !
1616 var phrase = BIP39 . generateMnemonicsFromEntropy ( entropy: entropy)
1717 XCTAssert ( phrase == " abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about " )
@@ -139,16 +139,31 @@ final class BIP39Tests: XCTestCase {
139139 }
140140
141141 func testNewBIP32keystoreArray( ) throws {
142- let mnemonic = BIP39 . generateMnemonics ( entropy: 256 ) !
142+ let mnemonic = try BIP39 . generateMnemonics ( entropy: 256 )
143143 let keystore = try BIP32Keystore ( mnemonicsPhrase: mnemonic, password: " " , mnemonicsPassword: " " )
144144 XCTAssert ( keystore != nil )
145145 }
146146
147147 func testSameAddressesFromTheSameMnemonicsArray( ) throws {
148- let mnemonic = BIP39 . generateMnemonics ( entropy: 256 ) !
148+ let mnemonic = try BIP39 . generateMnemonics ( entropy: 256 )
149149 let keystore1 = try BIP32Keystore ( mnemonicsPhrase: mnemonic, password: " " , mnemonicsPassword: " " )
150150 let keystore2 = try BIP32Keystore ( mnemonicsPhrase: mnemonic, password: " " , mnemonicsPassword: " " )
151151 XCTAssert ( keystore1? . addresses? . first == keystore2? . addresses? . first)
152152 }
153153
154+ func testWrongBitsOfEntropyMustThrow( ) throws {
155+ XCTAssertThrowsError ( try BIP39 . generateMnemonics ( entropy: 127 ) )
156+ XCTAssertThrowsError ( try BIP39 . generateMnemonics ( entropy: 255 ) )
157+ XCTAssertThrowsError ( try BIP39 . generateMnemonics ( entropy: 32 ) )
158+ XCTAssertThrowsError ( try BIP39 . generateMnemonics ( entropy: 288 ) )
159+ }
160+
161+ func testCorrectBitsOfEntropy( ) throws {
162+ XCTAssertFalse ( try BIP39 . generateMnemonics ( entropy: 128 ) . isEmpty)
163+ XCTAssertFalse ( try BIP39 . generateMnemonics ( entropy: 160 ) . isEmpty)
164+ XCTAssertFalse ( try BIP39 . generateMnemonics ( entropy: 192 ) . isEmpty)
165+ XCTAssertFalse ( try BIP39 . generateMnemonics ( entropy: 224 ) . isEmpty)
166+ XCTAssertFalse ( try BIP39 . generateMnemonics ( entropy: 256 ) . isEmpty)
167+ }
168+
154169}
0 commit comments