private IXor2ComputationNodeReference _Assert_Identifier(ComputationGraphNode node, string variableName) { var ident = (IdentifierNameSyntax)node.Syntax; Assert.AreEqual(variableName, ident.Identifier.ToString()); return(node.MainAntedecent.Value); }
private void _Assert_Literal(ComputationGraphNode node, int value) { var syntax = (LiteralExpressionSyntax)node.Syntax; Assert.AreEqual(value, int.Parse(syntax.Token.Text)); Assert.IsFalse(node.MainAntedecent.Exists); }
private IXor2ComputationNodeReference _Assert_LocalDeclaration(ComputationGraphNode node, string variableName) { var localDecl = (LocalDeclarationStatementSyntax)node.Syntax; var varName = SyntaxOperations.GetVariableTokenSingle(localDecl).ToString(); Assert.AreEqual(variableName, varName); return(node.MainAntedecent.Value); }
private IXor2ComputationNodeReference _Assert_CastExpression(ComputationGraphNode node, Type type, MethodBlockAnalysis methodAnalysis) { var cast = (CastExpressionSyntax)node.Syntax; var typeActual = methodAnalysis.SemanticModel.GetTypeInfo(cast.Type); var typeActualFullName = $"{typeActual.Type.ContainingNamespace}.{typeActual.Type.Name}"; Assert.AreEqual(type.FullName, typeActualFullName); return(node.MainAntedecent.Value); }
private void _Assert_MethodParam(ComputationGraphNode node, string paramName, Type paramType, MethodBlockAnalysis methodAnalysis) { var syntax = (ParameterSyntax)node.Syntax; var expectedType = $"{paramType.Namespace}.{paramType.Name}"; var typeInfo = methodAnalysis.SemanticModel.GetTypeInfo(syntax.Type); var actualType = $"{typeInfo.Type.ContainingNamespace}.{typeInfo.Type.Name}"; Assert.AreEqual(paramName, syntax.Identifier.ToString()); Assert.AreEqual(expectedType, actualType); Assert.IsFalse(node.MainAntedecent.Exists); }
private (IXor2ComputationNodeReference Left, IXor2ComputationNodeReference Right) _Assert_BinaryExpression(ComputationGraphNode node, SyntaxKind operatorToken) { var syntax = (BinaryExpressionSyntax)node.Syntax; var actualToken = syntax.OperatorToken; Assert.AreEqual(operatorToken, actualToken.Kind()); return(node.LeftAntedecent.Value, node.RightAntedecent.Value); }
private IXor2ComputationNodeReference _Assert_ParenthesizedExpr(ComputationGraphNode node) { var syntax = (ParenthesizedExpressionSyntax)node.Syntax; return(node.MainAntedecent.Value); }
private (IXor2ComputationNodeReference Main, IReadOnlyList <IXor2ComputationNodeReference> Args) _Assert_Invocation(ComputationGraphNode node, string methodName) { var invocSyntax = (InvocationExpressionSyntax)node.Syntax; var expr = invocSyntax.Expression; return(node.MainAntedecent.Value, node.OtherVaryingAntedecents.Value); }
private IXor2ComputationNodeReference _Assert_ReturnStatement(ComputationGraphNode node) { Assert.That.IsOfType <ReturnStatementSyntax>(node.Syntax); return(node.MainAntedecent.Value); }