@Override
    public Collection<ParameterRewriter> getParameterRewriters() {
        Collection<ParameterRewriter> result = new LinkedList<>();
        addParameterRewriter(result, new EncryptAssignmentParameterRewriter(encryptRule));
        addParameterRewriter(result, new EncryptPredicateParameterRewriter(encryptRule));
        addParameterRewriter(result, new EncryptInsertValueParameterRewriter(encryptRule));
        addParameterRewriter(result, new EncryptInsertOnDuplicateKeyUpdateValueParameterRewriter(encryptRule));
        return result;
    }
@Test
    void assertGetParameterRewritersWhenPredicateIsNotNeedRewrite() {
        EncryptRule encryptRule = mock(EncryptRule.class, RETURNS_DEEP_STUBS);
        SelectStatementContext sqlStatementContext = mock(SelectStatementContext.class, RETURNS_DEEP_STUBS);
        when(sqlStatementContext.getTablesContext().getTableNames()).thenReturn(Collections.singleton("t_order"));
        when(sqlStatementContext.getWhereSegments()).thenReturn(Collections.emptyList());
        assertTrue(new EncryptParameterRewriterBuilder(encryptRule,
                DefaultDatabase.LOGIC_NAME, Collections.singletonMap("test", mock(ShardingSphereSchema.class)), sqlStatementContext, Collections.emptyList()).getParameterRewriters().isEmpty());
    }