Skip to content

Commit

Permalink
Fix for Bytewords list alphabetization error.
Browse files Browse the repository at this point in the history
**This is a breaking change.**

BlockchainCommons/Research#45
  • Loading branch information
wolfmcnally committed Oct 5, 2020
1 parent 4446519 commit d8bd505
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 37 deletions.
4 changes: 2 additions & 2 deletions Sources/URKit/Bytewords.swift
Original file line number Diff line number Diff line change
Expand Up @@ -97,14 +97,14 @@ public struct Bytewords {
goodgraygrimgurugushgyrohalfhanghardhawkheathelphighhillholyhope\
hornhutsicedideaidleinchinkyintoirisironitemjadejazzjoinjoltjowl\
judojugsjumpjunkjurykeepkenokeptkeyskickkilnkingkitekiwiknoblamb\
lavalazyleaflegsliarlistlimplionlogoloudloveluaulucklungmainmany\
lavalazyleaflegsliarlimplionlistlogoloudloveluaulucklungmainmany\
mathmazememomenumeowmildmintmissmonknailnavyneednewsnextnoonnote\
numbobeyoboeomitonyxopenovalowlspaidpartpeckplaypluspoempoolpose\
puffpumapurrquadquizraceramprealredorichroadrockroofrubyruinruns\
rustsafesagascarsetssilkskewslotsoapsolosongstubsurfswantacotask\
taxitenttiedtimetinytoiltombtoystriptunatwinuglyundouniturgeuser\
vastveryvetovialvibeviewvisavoidvowswallwandwarmwaspwavewaxywebs\
whatwhenwhizwolfworkyankyawnyellyogayurtzapszestzinczonezoomzero
whatwhenwhizwolfworkyankyawnyellyogayurtzapszerozestzinczonezoom
"""

private static let indexToBytewords: [UInt8 : String] = {
Expand Down
30 changes: 15 additions & 15 deletions Tests/URKitTests/BytewordsTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ import XCTest
class BytewordsTests: XCTestCase {
func test1() {
let input = Data([0, 1, 2, 128, 255])
XCTAssertEqual( Bytewords.encode(input, style: .standard), "able acid also lava zero jade need echo taxi")
XCTAssertEqual( Bytewords.encode(input, style: .uri), "able-acid-also-lava-zero-jade-need-echo-taxi")
XCTAssertEqual( Bytewords.encode(input, style: .minimal), "aeadaolazojendeoti")
XCTAssertEqual( Bytewords.encode(input, style: .standard), "able acid also lava zoom jade need echo taxi")
XCTAssertEqual( Bytewords.encode(input, style: .uri), "able-acid-also-lava-zoom-jade-need-echo-taxi")
XCTAssertEqual( Bytewords.encode(input, style: .minimal), "aeadaolazmjendeoti")

XCTAssertEqual( try Bytewords.decode("able acid also lava zero jade need echo taxi", style: .standard), input )
XCTAssertEqual( try Bytewords.decode("able-acid-also-lava-zero-jade-need-echo-taxi", style: .uri), input )
XCTAssertEqual( try Bytewords.decode("aeadaolazojendeoti", style: .minimal), input )
XCTAssertEqual( try Bytewords.decode("able acid also lava zoom jade need echo taxi", style: .standard), input )
XCTAssertEqual( try Bytewords.decode("able-acid-also-lava-zoom-jade-need-echo-taxi", style: .uri), input )
XCTAssertEqual( try Bytewords.decode("aeadaolazmjendeoti", style: .minimal), input )

// bad checksum
XCTAssertThrowsError( try Bytewords.decode("able acid also lava zero jade need echo wolf", style: .standard) )
Expand Down Expand Up @@ -45,24 +45,24 @@ class BytewordsTests: XCTestCase {

let encoded = """
yank toys bulb skew when warm free fair tent swan \
open brag mint noon jury lion view tiny brew note \
body data webs what zone bald join runs data whiz \
days keys user diet news ruby whiz zoom menu surf \
open brag mint noon jury list view tiny brew note \
body data webs what zinc bald join runs data whiz \
days keys user diet news ruby whiz zone menu surf \
flew omit trip pose runs fund part even crux fern \
math visa tied loud redo silk curl jugs hard beta \
next cost puma drum acid junk swan free very mint \
flap warm fact math flap what list free jugs yell \
flap warm fact math flap what limp free jugs yell \
fish epic whiz open numb math city belt glow wave \
list fuel grim free zoom open love diet gyro cats \
limp fuel grim free zone open love diet gyro cats \
fizz holy city puff
"""

let encodedMinimal = """
yktsbbswwnwmfefrttsnonbgmtnnjylnvwtybwne\
bydawswtzebdjnrsdawzdsksurdtnsrywzzmmusf\
yktsbbswwnwmfefrttsnonbgmtnnjyltvwtybwne\
bydawswtzcbdjnrsdawzdsksurdtnsrywzzemusf\
fwottppersfdptencxfnmhvatdldroskcljshdba\
ntctpadmadjksnfevymtfpwmftmhfpwtltfejsyl\
fhecwzonnbmhcybtgwweltflgmfezmonledtgocs\
ntctpadmadjksnfevymtfpwmftmhfpwtlpfejsyl\
fhecwzonnbmhcybtgwwelpflgmfezeonledtgocs\
fzhycypf
"""

Expand Down
40 changes: 20 additions & 20 deletions Tests/URKitTests/URTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,26 +25,26 @@ class URTests: XCTestCase {
let parts = (0 ..< 20).map { _ in encoder.nextPart() }
//print(parts)
let expectedParts = [
"ur:bytes/1-9/ltadascfadaxcywenbpljkhdcahkadaemejtswhhylkepmykhhtsytsnoyoyaxaedsuttydmmhhpktpmsrjtdkgsltgh",
"ur:bytes/2-9/ltaoascfadaxcywenbpljkhdcagwdpfnsboxgwlbaawzuefywkdplrsrjynbvygabwjldapfcsgmghhkhstlrdcxaefz",
"ur:bytes/3-9/ltaxascfadaxcywenbpljkhdcahelbknlkuejnbadmssfhfrdpsbiegecpasvssovlgeykssjykklronvsjksopdzool",
"ur:bytes/4-9/ltaaascfadaxcywenbpljkhdcasotkhemthydawydtaxneurlkosgwcekonertkbrlwmplssjtammdplolsbrdzertas",
"ur:bytes/5-9/ltahascfadaxcywenbpljkhdcatbbdfmssrkzocwnezmlennjpfzbgmuktrhtejscktelgfpdlrkfyfwdajldejokbwf",
"ur:bytes/6-9/ltamascfadaxcywenbpljkhdcackjlhkhybssklbwefectpfnbbectrljectpavyrolkzezepkmwidmwoxkilghdsowp",
"ur:bytes/7-9/ltatascfadaxcywenbpljkhdcavszownjkwtclrtvaynhpahrtoxmwvwatmedibkaegdosftvandiodagdhthtrlnnhy",
"ur:bytes/8-9/ltayascfadaxcywenbpljkhdcadmsponkkbbhgsolnjntegepmttmoonftnbuoiyrehfrtsabzsttorodklubbuyaetk",
"ur:bytes/9-9/ltasascfadaxcywenbpljkhdcajskecpmdckihdyhphfotjojtfmlpwmadspaxrkytbztpbauotbgtgtaeaevtgavtny",
"ur:bytes/10-9/ltbkascfadaxcywenbpljkhdcahkadaemejtswhhylkepmykhhtsytsnoyoyaxaedsuttydmmhhpktpmsrjtwdkiplzs",
"ur:bytes/11-9/ltbdascfadaxcywenbpljkhdcahelbknlkuejnbadmssfhfrdpsbiegecpasvssovlgeykssjykklronvsjkvetiiapk",
"ur:bytes/12-9/ltbnascfadaxcywenbpljkhdcarllaluzodmgstospeyiefmwejlwtpedamktksrvlcygmzmmovovllarodtmtbnptrs",
"ur:bytes/13-9/ltbtascfadaxcywenbpljkhdcamtkgtpknghchchyketwsvwgwfdhpgmgtylctotztpdrpayoschcmhplffziachrfgd",
"ur:bytes/14-9/ltbaascfadaxcywenbpljkhdcapazmwnvonnvdnsbyleynwtnsjkjndeoldydkbkdslgjkbbkortbelomueekgvstegt",
"ur:bytes/15-9/ltbsascfadaxcywenbpljkhdcaynmhpddpzoversbdqdfyrehnqzlugmjzmnmtwmrouohtstgsbsahpawkditkckynwt",
"ur:bytes/16-9/ltbeascfadaxcywenbpljkhdcawygekobamwtlihsnpalpsghenskkiynthdzttsimtojetprsttmukirlrsbtamjtpd",
"ur:bytes/17-9/ltbyascfadaxcywenbpljkhdcamklgftaxykpewyrtqzhydntpnytyisincxmhtbceaykolduortotiaiaiafhiaoyce",
"ur:bytes/18-9/ltbgascfadaxcywenbpljkhdcahkadaemejtswhhylkepmykhhtsytsnoyoyaxaedsuttydmmhhpktpmsrjtntwkbkwy",
"ur:bytes/19-9/ltbwascfadaxcywenbpljkhdcadekicpaajootjzpsdrbalteywllbdsnbinaerkurspbncxgslgftvtsrjtksplcpeo",
"ur:bytes/20-9/ltbbascfadaxcywenbpljkhdcayapmrleeleaxpasfrtrdkncffwjyjzgyetdmlewtkpktgllepfrltatazcksmhkbot"
"ur:bytes/1-9/lpadascfadaxcywenbpljkhdcahkadaemejtswhhylkepmykhhtsytsnoyoyaxaedsuttydmmhhpktpmsrjtdkgslpgh",
"ur:bytes/2-9/lpaoascfadaxcywenbpljkhdcagwdpfnsboxgwlbaawzuefywkdplrsrjynbvygabwjldapfcsgmghhkhstlrdcxaefz",
"ur:bytes/3-9/lpaxascfadaxcywenbpljkhdcahelbknlkuejnbadmssfhfrdpsbiegecpasvssovlgeykssjykklronvsjksopdzmol",
"ur:bytes/4-9/lpaaascfadaxcywenbpljkhdcasotkhemthydawydtaxneurlkosgwcekonertkbrlwmplssjtammdplolsbrdzcrtas",
"ur:bytes/5-9/lpahascfadaxcywenbpljkhdcatbbdfmssrkzmcwnezelennjpfzbgmuktrhtejscktelgfpdlrkfyfwdajldejokbwf",
"ur:bytes/6-9/lpamascfadaxcywenbpljkhdcackjlhkhybssklbwefectpfnbbectrljectpavyrolkzczcpkmwidmwoxkilghdsowp",
"ur:bytes/7-9/lpatascfadaxcywenbpljkhdcavszmwnjkwtclrtvaynhpahrtoxmwvwatmedibkaegdosftvandiodagdhthtrlnnhy",
"ur:bytes/8-9/lpayascfadaxcywenbpljkhdcadmsponkkbbhgsoltjntegepmttmoonftnbuoiyrehfrtsabzsttorodklubbuyaetk",
"ur:bytes/9-9/lpasascfadaxcywenbpljkhdcajskecpmdckihdyhphfotjojtfmlnwmadspaxrkytbztpbauotbgtgtaeaevtgavtny",
"ur:bytes/10-9/lpbkascfadaxcywenbpljkhdcahkadaemejtswhhylkepmykhhtsytsnoyoyaxaedsuttydmmhhpktpmsrjtwdkiplzs",
"ur:bytes/11-9/lpbdascfadaxcywenbpljkhdcahelbknlkuejnbadmssfhfrdpsbiegecpasvssovlgeykssjykklronvsjkvetiiapk",
"ur:bytes/12-9/lpbnascfadaxcywenbpljkhdcarllaluzmdmgstospeyiefmwejlwtpedamktksrvlcygmzemovovllarodtmtbnptrs",
"ur:bytes/13-9/lpbtascfadaxcywenbpljkhdcamtkgtpknghchchyketwsvwgwfdhpgmgtylctotzopdrpayoschcmhplffziachrfgd",
"ur:bytes/14-9/lpbaascfadaxcywenbpljkhdcapazewnvonnvdnsbyleynwtnsjkjndeoldydkbkdslgjkbbkortbelomueekgvstegt",
"ur:bytes/15-9/lpbsascfadaxcywenbpljkhdcaynmhpddpzmversbdqdfyrehnqzlugmjzmnmtwmrouohtstgsbsahpawkditkckynwt",
"ur:bytes/16-9/lpbeascfadaxcywenbpljkhdcawygekobamwtlihsnpalnsghenskkiynthdzotsimtojetprsttmukirlrsbtamjtpd",
"ur:bytes/17-9/lpbyascfadaxcywenbpljkhdcamklgftaxykpewyrtqzhydntpnytyisincxmhtbceaykolduortotiaiaiafhiaoyce",
"ur:bytes/18-9/lpbgascfadaxcywenbpljkhdcahkadaemejtswhhylkepmykhhtsytsnoyoyaxaedsuttydmmhhpktpmsrjtntwkbkwy",
"ur:bytes/19-9/lpbwascfadaxcywenbpljkhdcadekicpaajootjzpsdrbalpeywllbdsnbinaerkurspbncxgslgftvtsrjtksplcpeo",
"ur:bytes/20-9/lpbbascfadaxcywenbpljkhdcayapmrleeleaxpasfrtrdkncffwjyjzgyetdmlewtkpktgllepfrltataztksmhkbot"
]
XCTAssertEqual(parts, expectedParts)
}
Expand Down

0 comments on commit d8bd505

Please sign in to comment.