github.com/status-im/status-go@v1.1.0/protocol/identity/identicon/identicon_test.go (about)

     1  package identicon
     2  
     3  import (
     4  	"crypto/md5" // nolint: gosec
     5  	"reflect"
     6  	"testing"
     7  )
     8  
     9  var GeneratedPattern = []byte{
    10  	129, 201, 130, 201, 129,
    11  	56, 157, 244, 157, 56,
    12  	232, 187, 241, 187, 232,
    13  	183, 61, 165, 61, 183,
    14  	149, 108, 179, 108, 149,
    15  }
    16  
    17  var GeneratedBitmap = []byte{
    18  	0, 0, 1, 0, 0,
    19  	1, 0, 1, 0, 1,
    20  	1, 0, 0, 0, 1,
    21  	0, 0, 0, 0, 0,
    22  	0, 1, 0, 1, 0,
    23  }
    24  
    25  var GeneratedHash = md5.Sum([]byte("Culona")) // nolint: gosec
    26  
    27  func TestItGeneratesAPatternFromAListOfBytes(t *testing.T) {
    28  	pattern := generatePatternFromHash(GeneratedHash)
    29  
    30  	if !reflect.DeepEqual(GeneratedPattern, pattern) {
    31  		t.Fatal("Failing asserting equality of pattern.")
    32  	}
    33  }
    34  
    35  func TestItGeneratesABitMapFromPattern(t *testing.T) {
    36  	bitmap := convertPatternToBinarySwitch(GeneratedPattern)
    37  
    38  	if !reflect.DeepEqual(GeneratedBitmap, bitmap) {
    39  		t.Fatal("Failing asserting equality of bitmap.")
    40  	}
    41  }
    42  
    43  func TestItGeneratesAnIdenticonFromString(t *testing.T) {
    44  	identicon := generate("Culona")
    45  
    46  	if !reflect.DeepEqual(GeneratedBitmap, identicon.bitmap) {
    47  		t.Fatal("Failing asserting that the identicon has a valid  bitmap.")
    48  	}
    49  }