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; }
|
|||
|
}
|
|||
|
}
|
|||
|
}
|