a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|
|
|
using Xunit;
|
|
|
|
namespace System.Web.Mvc.Test
|
|
{
|
|
public class DescriptorUtilTest
|
|
{
|
|
[Fact]
|
|
public void CreateUniqueId_FromIUniquelyIdentifiable()
|
|
{
|
|
// Arrange
|
|
CustomUniquelyIdentifiable custom = new CustomUniquelyIdentifiable("hello-world");
|
|
|
|
// Act
|
|
string retVal = DescriptorUtil.CreateUniqueId(custom);
|
|
|
|
// Assert
|
|
Assert.Equal("[11]hello-world", retVal);
|
|
}
|
|
|
|
[Fact]
|
|
public void CreateUniqueId_FromMemberInfo()
|
|
{
|
|
// Arrange
|
|
string moduleVersionId = typeof(DescriptorUtilTest).Module.ModuleVersionId.ToString();
|
|
string metadataToken = typeof(DescriptorUtilTest).MetadataToken.ToString();
|
|
string expected = String.Format("[{0}]{1}[{2}]{3}", moduleVersionId.Length, moduleVersionId, metadataToken.Length, metadataToken);
|
|
|
|
// Act
|
|
string retVal = DescriptorUtil.CreateUniqueId(typeof(DescriptorUtilTest));
|
|
|
|
// Assert
|
|
Assert.Equal(expected, retVal);
|
|
}
|
|
|
|
[Fact]
|
|
public void CreateUniqueId_FromSimpleTypes()
|
|
{
|
|
// Act
|
|
string retVal = DescriptorUtil.CreateUniqueId("foo", null, 12345);
|
|
|
|
// Assert
|
|
Assert.Equal("[3]foo[-1][5]12345", retVal);
|
|
}
|
|
|
|
private sealed class CustomUniquelyIdentifiable : IUniquelyIdentifiable
|
|
{
|
|
public CustomUniquelyIdentifiable(string uniqueId)
|
|
{
|
|
UniqueId = uniqueId;
|
|
}
|
|
|
|
public string UniqueId { get; private set; }
|
|
}
|
|
}
|
|
}
|