public void WhenGettingQualifiedNameFromITypeSymbolThenReturnsNameWithNamespace()
{
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((INamespaceSymbol)null);
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>, ";
var actualQualifiedName = mockTypeSymbol.Object.GetQualifiedName();
Assert.Equal(ExpectedQualifiedName, actualQualifiedName.ToString());
}