test_class.declarator: linearMerger
test_class.modifier: private
test_class.original_string: private LinearRestrictionsMerger linearMerger;
test_class.type: LinearRestrictionsMerger
test_class.var_name: linearMerger
test_class.declarator: stringMerger
test_class.modifier: private
test_class.original_string: private StringRestrictionsMerger stringMerger;
test_class.type: StringRestrictionsMerger
test_class.var_name: stringMerger
test_class.declarator: booleanMerger
test_class.modifier: private
test_class.original_string: private BooleanRestrictionsMerger booleanMerger;
test_class.type: BooleanRestrictionsMerger
test_class.var_name: booleanMerger
test_class.declarator: operation
test_class.modifier: private
test_class.original_string: private RestrictionsMergeOperation operation;
test_class.type: RestrictionsMergeOperation
test_class.var_name: operation
test_class.declarator: leftNumeric
test_class.modifier: private static
test_class.original_string: private static TypedRestrictions leftNumeric;
test_class.type: TypedRestrictions
test_class.var_name: leftNumeric
test_class.declarator: rightNumeric
test_class.modifier: private static
test_class.original_string: private static TypedRestrictions rightNumeric;
test_class.type: TypedRestrictions
test_class.var_name: rightNumeric
test_class.declarator: leftString
test_class.modifier: private static
test_class.original_string: private static TypedRestrictions leftString;
test_class.type: TypedRestrictions
test_class.var_name: leftString
test_class.declarator: rightString
test_class.modifier: private static
test_class.original_string: private static TypedRestrictions rightString;
test_class.type: TypedRestrictions
test_class.var_name: rightString
test_class.declarator: leftDateTime
test_class.modifier: private static
test_class.original_string: private static TypedRestrictions leftDateTime;
test_class.type: TypedRestrictions
test_class.var_name: leftDateTime
test_class.declarator: rightDateTime
test_class.modifier: private static
test_class.original_string: private static TypedRestrictions rightDateTime;
test_class.type: TypedRestrictions
test_class.var_name: rightDateTime
test_class.file: core/src/test/java/com/scottlogic/datahelix/generator/core/fieldspecs/RestrictionsMergeOperationTest.java
test_class.identifier: RestrictionsMergeOperationTest
test_case.body: @Test
      void applyMergeOperation_withDateTimeRestrictions_shouldApplyRestriction(){
          Optional<TypedRestrictions> expected = Optional.of(rightDateTime);
              when(linearMerger.merge(leftDateTime, rightDateTime, false))
              .thenReturn(Optional.of(rightDateTime));
  
          Optional<TypedRestrictions> result = operation.applyMergeOperation(leftDateTime, rightDateTime, false);
  
          Assert.assertEquals(result, result);
          verify(linearMerger, times(1)).merge(any(), any(), anyBoolean());
          verify(stringMerger, times(0)).merge(any(), any(), anyBoolean());
      }
test_case.class_method_signature: RestrictionsMergeOperationTest.applyMergeOperation_withDateTimeRestrictions_shouldApplyRestriction()
test_case.full_signature: @Test void applyMergeOperation_withDateTimeRestrictions_shouldApplyRestriction()
test_case.identifier: applyMergeOperation_withDateTimeRestrictions_shouldApplyRestriction
test_case.invocations: of thenReturn when merge of applyMergeOperation assertEquals merge verify times any any anyBoolean merge verify times any any anyBoolean
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void applyMergeOperation_withDateTimeRestrictions_shouldApplyRestriction()
focal_class.declarator: linearMerger
focal_class.modifier: private final
focal_class.original_string: private final RestrictionsMerger linearMerger;
focal_class.type: RestrictionsMerger
focal_class.var_name: linearMerger
focal_class.declarator: stringMerger
focal_class.modifier: private final
focal_class.original_string: private final RestrictionsMerger stringMerger;
focal_class.type: RestrictionsMerger
focal_class.var_name: stringMerger
focal_class.declarator: booleanMerger
focal_class.modifier: private final
focal_class.original_string: private final RestrictionsMerger booleanMerger;
focal_class.type: RestrictionsMerger
focal_class.var_name: booleanMerger
focal_class.file: core/src/main/java/com/scottlogic/datahelix/generator/core/fieldspecs/RestrictionsMergeOperation.java
focal_class.identifier: RestrictionsMergeOperation
focal_class.class_method_signature: RestrictionsMergeOperation.RestrictionsMergeOperation(LinearRestrictionsMerger linearMerger, StringRestrictionsMerger stringMerger, BooleanRestrictionsMerger booleanMerger)
focal_class.full_signature: public  RestrictionsMergeOperation(LinearRestrictionsMerger linearMerger, StringRestrictionsMerger stringMerger, BooleanRestrictionsMerger booleanMerger)
focal_class.identifier: RestrictionsMergeOperation
focal_class.modifiers: public
focal_class.parameters: (LinearRestrictionsMerger linearMerger, StringRestrictionsMerger stringMerger, BooleanRestrictionsMerger booleanMerger)
focal_class.signature:  RestrictionsMergeOperation(LinearRestrictionsMerger linearMerger, StringRestrictionsMerger stringMerger, BooleanRestrictionsMerger booleanMerger)
focal_class.class_method_signature: RestrictionsMergeOperation.applyMergeOperation(TypedRestrictions left, TypedRestrictions right, boolean useFinestGranularityAvailable)
focal_class.full_signature: public Optional<TypedRestrictions> applyMergeOperation(TypedRestrictions left, TypedRestrictions right, boolean useFinestGranularityAvailable)
focal_class.identifier: applyMergeOperation
focal_class.modifiers: public
focal_class.parameters: (TypedRestrictions left, TypedRestrictions right, boolean useFinestGranularityAvailable)
focal_class.return: Optional<TypedRestrictions>
focal_class.signature: Optional<TypedRestrictions> applyMergeOperation(TypedRestrictions left, TypedRestrictions right, boolean useFinestGranularityAvailable)
focal_class.class_method_signature: RestrictionsMergeOperation.getMerger(TypedRestrictions restrictions)
focal_class.full_signature: private RestrictionsMerger getMerger(TypedRestrictions restrictions)
focal_class.identifier: getMerger
focal_class.modifiers: private
focal_class.parameters: (TypedRestrictions restrictions)
focal_class.return: RestrictionsMerger
focal_class.signature: RestrictionsMerger getMerger(TypedRestrictions restrictions)
focal_method.body: public Optional<TypedRestrictions> applyMergeOperation(TypedRestrictions left, TypedRestrictions right, boolean useFinestGranularityAvailable) {
          return getMerger(left).merge(left, right, useFinestGranularityAvailable);
      }
focal_method.class_method_signature: RestrictionsMergeOperation.applyMergeOperation(TypedRestrictions left, TypedRestrictions right, boolean useFinestGranularityAvailable)
focal_method.full_signature: public Optional<TypedRestrictions> applyMergeOperation(TypedRestrictions left, TypedRestrictions right, boolean useFinestGranularityAvailable)
focal_method.identifier: applyMergeOperation
focal_method.invocations: merge getMerger
focal_method.modifiers: public
focal_method.parameters: (TypedRestrictions left, TypedRestrictions right, boolean useFinestGranularityAvailable)
focal_method.return: Optional<TypedRestrictions>
focal_method.signature: Optional<TypedRestrictions> applyMergeOperation(TypedRestrictions left, TypedRestrictions right, boolean useFinestGranularityAvailable)