when(nameMeta.structure().isStaticColumn()).thenReturn(false);
when(ageMeta.structure().isStaticColumn()).thenReturn(false);
when(nameMeta.forStatementGeneration().prepareUpdateField(conditionsCaptor.capture())).thenReturn(assignments);
when(ageMeta.forStatementGeneration().prepareUpdateField(isA(Assignments.class))).thenReturn(assignments);
when(idMeta.forStatementGeneration().prepareCommonWhereClauseForUpdate(assignments, false)).thenReturn(assignments.where(eq("id", bindMarker("id"))));
when(session.prepare(queryCaptor.capture())).thenReturn(ps);
PreparedStatement actual = generator.prepareUpdateFields(session, meta, asList(nameMeta, ageMeta),
ifConditions(new CASCondition("name", "John")).withTimestamp(100L));