@Test
public void executeIfSelectedColumn_WithInstanceAndProperty() {

    ((DuplicateInstanceCommand) commandSpy).executeIfSelectedColumn(scenarioSimulationContextLocal, scenarioGridColumnMock1);
    verify(scenarioGridModelMock, times(1)).getInstancesCount(eq(scenarioGridColumnMock1.getFactIdentifier().getClassName()));
    verify((DuplicateInstanceCommand) commandSpy, times(1)).insertNewColumn(eq(scenarioSimulationContextLocal), eq(scenarioGridColumnMock1), eq(COLUMN_NUMBER + 1), eq(Boolean.FALSE));
    String expectedDuplicatedLabel = VALUE_1 + DuplicateInstanceCommand.COPY_LABEL + "1";
    verify((DuplicateInstanceCommand) commandSpy, times(1)).setInstanceHeader(eq(scenarioSimulationContextLocal), eq(gridColumnMock), eq(expectedDuplicatedLabel), eq(FULL_CLASS_NAME_1));
    List<String> expectedPropertyNameElements = Arrays.asList(expectedDuplicatedLabel, "test");
    verify((DuplicateInstanceCommand) commandSpy, times(1)).setPropertyHeader(eq(scenarioSimulationContextLocal), eq(gridColumnMock), eq(expectedPropertyNameElements), eq(VALUE_CLASS_NAME), eq(GRID_PROPERTY_TITLE_1));
    verify(scenarioGridModelMock, times(1)).duplicateColumnValues(eq(COLUMN_NUMBER), eq(0)); // The created column is mocked as gridColumnMock, with position 0
}