ArchiMetrics.Analysis.Tests.Metrics.TypeExtensionsTests.WhenGettingQualifiedNameFromITypeSymbolWithAssemblyInfoThenReturnsNameWithNamespaceAndAssembly C# (CSharp) Метод

WhenGettingQualifiedNameFromITypeSymbolWithAssemblyInfoThenReturnsNameWithNamespaceAndAssembly() приватный Метод

		public void WhenGettingQualifiedNameFromITypeSymbolWithAssemblyInfoThenReturnsNameWithNamespaceAndAssembly()
		{
			var containingAssembly = new Mock<IAssemblySymbol>();
			containingAssembly.SetupGet(x => x.Name).Returns("MyAssembly");

			var globalNamespace = new Mock<INamespaceSymbol>();
			globalNamespace.SetupGet(x => x.Kind).Returns(SymbolKind.Namespace);
			globalNamespace.SetupGet(x => x.IsGlobalNamespace).Returns(true);
			globalNamespace.SetupGet(x => x.ContainingAssembly).Returns(containingAssembly.Object);

			var containingNamespace = new Mock<INamespaceSymbol>();
			containingNamespace.SetupGet(x => x.Name).Returns("MyNamespace");
			containingNamespace.SetupGet(x => x.IsGlobalNamespace).Returns(false);
			containingNamespace.SetupGet(x => x.Kind).Returns(SymbolKind.Namespace);
			containingNamespace.SetupGet(x => x.ContainingSymbol).Returns(globalNamespace.Object);

			var mockTypeParameter = new Mock<ITypeParameterSymbol>();
			mockTypeParameter.SetupGet(x => x.Name).Returns("object");
			var readOnlyArray = ImmutableArray.Create(mockTypeParameter.Object);
			var mockTypeSymbol = new Mock<INamedTypeSymbol>();
			mockTypeSymbol.SetupGet(x => x.Name).Returns("TypeName");
			mockTypeSymbol.SetupGet(x => x.ContainingSymbol).Returns(containingNamespace.Object);
			mockTypeSymbol.SetupGet(x => x.TypeParameters).Returns(readOnlyArray);

			const string ExpectedQualifiedName = "MyNamespace.TypeName<object>, MyAssembly";
			var actualQualifiedName = mockTypeSymbol.Object.GetQualifiedName();

			Assert.Equal(ExpectedQualifiedName, actualQualifiedName.ToString());
		}
	}