### Question:
PartialTranslator { private PartialTranslator() {} private  PartialTranslator(); static Map<NodeRef<Expression>, ConnectorExpression> extractPartialTranslations(
            Expression inputExpression,
            Session session,
            TypeAnalyzer typeAnalyzer,
            TypeProvider typeProvider);  }### Answer:
@Test public void testPartialTranslator() { Expression rowSymbolReference = new SymbolReference("row_symbol_1"); Expression dereferenceExpression1 = new DereferenceExpression(rowSymbolReference, new Identifier("int_symbol_1")); Expression dereferenceExpression2 = new DereferenceExpression(rowSymbolReference, new Identifier("varchar_symbol_1")); Expression stringLiteral = new StringLiteral("abcd"); Expression symbolReference1 = new SymbolReference("double_symbol_1"); assertFullTranslation(symbolReference1); assertFullTranslation(dereferenceExpression1); assertFullTranslation(stringLiteral); Expression binaryExpression = new ArithmeticBinaryExpression(ADD, symbolReference1, dereferenceExpression1); assertPartialTranslation(binaryExpression, ImmutableList.of(symbolReference1, dereferenceExpression1)); List<Expression> functionArguments = ImmutableList.of(stringLiteral, dereferenceExpression2); Expression functionCallExpression = new FunctionCall(QualifiedName.of("concat"), functionArguments); assertPartialTranslation(functionCallExpression, functionArguments); }