+func TestGetAccountIndexKey(t *testing.T) {
+ dirPath, err := ioutil.TempDir(".", "TestAccount")
+ if err != nil {
+ t.Fatal(err)
+ }
+ defer os.RemoveAll(dirPath)
+
+ hsm, err := pseudohsm.New(dirPath)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ xpub1, _, err := hsm.XCreate("TestAccountIndex1", "password", "en")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ xpub2, _, err := hsm.XCreate("TestAccountIndex2", "password", "en")
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ xpubs1 := []chainkd.XPub{xpub1.XPub, xpub2.XPub}
+ xpubs2 := []chainkd.XPub{xpub2.XPub, xpub1.XPub}
+ if !reflect.DeepEqual(GetAccountIndexKey(xpubs1), GetAccountIndexKey(xpubs2)) {
+ t.Fatal("GetAccountIndexKey test err")
+ }
+
+ if reflect.DeepEqual(xpubs1, xpubs2) {
+ t.Fatal("GetAccountIndexKey test err")
+ }
+}
+