public void GetCurrent_WithLocalScope_ShouldReturnExpectedInstance() { var localConverter = new AesPublicIdentityConverter(new byte[32]); using (new PublicIdentityScope(localConverter)) Assert.Equal(localConverter, PublicIdentityScope.Current.Converter); }
public void GetPublicRepresentation_Twice_ShouldYieldSameResult() { var key = new byte[32]; var converter = new AesPublicIdentityConverter(key); var first = converter.GetPublicRepresentation(1UL); var second = converter.GetPublicRepresentation(1UL); Assert.Equal(second, first); }
public void TryGetUlong_Twice_ShouldYieldSameResult() { var key = new byte[32]; var converter = new AesPublicIdentityConverter(key); var publicId = converter.GetPublicRepresentation(1UL); var firstSucceeded = converter.TryGetUlong(publicId, out var first); var secondSucceeded = converter.TryGetUlong(publicId, out var second); Assert.True(firstSucceeded); Assert.True(secondSucceeded); Assert.Equal(second, first); }
public void Construct_WithSameKey_ShouldGenerateSameResults() { var key1 = new byte[32]; key1[0] = 1; var key2 = new byte[32]; key1.AsSpan().CopyTo(key2); var string1 = new AesPublicIdentityConverter(key1).GetPublicRepresentation(0UL); var string2 = new AesPublicIdentityConverter(key2).GetPublicRepresentation(0UL); Assert.Equal(string1, string2); // A second custom key gives the same result as an identical first custom key }
public void GetCurrent_WithNestedLocalScope_ShouldReturnExpectedInstance() { var outerConverter = new AesPublicIdentityConverter(new byte[32]); using (new PublicIdentityScope(outerConverter)) { var innerConverter = new AesPublicIdentityConverter(new byte[32]); using (new PublicIdentityScope(innerConverter)) { var converter = PublicIdentityScope.Current.Converter; Assert.Equal(innerConverter, converter); Assert.NotEqual(outerConverter, converter); } } }
public void AddPublicIdentities_WithDifferentKey_ShouldGenerateDifferentResults() { var key0 = new byte[32]; var key1 = new byte[32]; key1[0] = 1; var key2 = new byte[32]; key2[31] = 2; var string0 = new AesPublicIdentityConverter(key0).GetPublicRepresentation(0UL); var string1 = new AesPublicIdentityConverter(key1).GetPublicRepresentation(0UL); var string2 = new AesPublicIdentityConverter(key2).GetPublicRepresentation(0UL); Assert.NotEqual(string0, string1); // A custom key gives a different result than an empty key Assert.NotEqual(string1, string2); // A second custom key gives a different result than the first custom key }