public void ShouldReturnListOfTypeParametersOnNodeWhenKindIsSyntaxKind( string kind ) { // Given var typeParameterIdentifierStr = "identifier-str"; var typeParemters = new List <Node> { new NodeMock { IdentifierStr = typeParameterIdentifierStr, }, }; var expected = new List <string> { typeParameterIdentifierStr, }; var node = new NodeMock { Kind = kind, TypeParameters = typeParemters, }; // When var actual = TypeParameterIdentifier.Identify( node ); // Then actual.Should() .BeEquivalentTo(expected); }
public void ShouldValidateAgainstCacheWhenDeclarationTypeIsUsed( string declarationType, bool found ) { // Given var expected = 1; var identifierString = "identifier-string"; var mockNode = new NodeMock { IdentifierStr = identifierString, }; var astMock = new Mock <AbstractSyntaxTree>(); var rootNodeMock = new Mock <Node>(); astMock.Setup( mock => mock.RootNode ).Returns( rootNodeMock.Object ); rootNodeMock.Setup( mock => mock.OfKind( declarationType ) ).Returns( new List <Node> { mockNode } ); // When var alias = new InterfaceResponseTypeIdentifierCached(); var actual = alias.Identify( identifierString, astMock.Object ); actual.Should().Be(found); actual = alias.Identify( identifierString, astMock.Object ); // Then actual.Should().Be(found); rootNodeMock.Verify( mock => mock.OfKind( declarationType ), Times.Exactly(expected) ); }
public async Task ShoudlOnlyReadFromASTOnceWhenCallingIdentifyAsSecondTime() { // Given var expected = 1; var identifierString = "identifier-string"; var mockNode = new NodeMock { IdentifierStr = identifierString, }; var astMock = new Mock <AbstractSyntaxTree>(); var rootNodeMock = new Mock <Node>(); astMock.Setup( mock => mock.RootNode ).Returns( rootNodeMock.Object ); rootNodeMock.Setup( mock => mock.OfKind( SyntaxKind.TypeAliasDeclaration ) ).Returns( new List <Node> { mockNode } ); // When var alias = new AliasTypeIdentifierCached(); var actual = alias.Identify( identifierString, astMock.Object ); actual.Should().BeTrue(); actual = alias.Identify( identifierString, astMock.Object ); // Then actual.Should().BeTrue(); rootNodeMock.Verify( mock => mock.OfKind( SyntaxKind.TypeAliasDeclaration ), Times.Exactly(expected) ); }
public void ShouldReturnEmptyListWhenTypeParametersAreNull( string kind ) { // Given var typeParemters = default(List <Node>); var node = new NodeMock { Kind = kind, TypeParameters = typeParemters, }; // When var actual = TypeParameterIdentifier.Identify( node ); // Then actual.Should().BeEmpty(); }