Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

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