@Test
  public void givenType2PathModifiedWhenEvaluatinAnotherSchemaThenImpact() throws Exception {

    returnedMetadatas =
        calculator.getReferencesToMetadata(automaticMetaInAnotherSchemaUsingTaxos, type2Path);
    assertThat(returnedMetadatas).containsOnly(anotherSchemaTaxos);
  }
 @Test
 public void givenType1AllAuthorizationModifiedWhenEvaluatingAutomaticMetaInType3ThenNoImpact()
     throws Exception {
   returnedMetadatas =
       calculator.getReferencesToMetadata(automaticMetaInType3UsingTaxos, type1AllAuthorizations);
   assertThat(returnedMetadatas).isEmpty();
 }
  @Test
  public void givenType2PathModifiedWhenEvaluatinZeSchemaThenNoImpact() throws Exception {

    returnedMetadatas =
        calculator.getReferencesToMetadata(automaticMetaInZeSchemaUsingTaxos, type2Path);
    assertThat(returnedMetadatas).isEmpty();
  }
  @Test
  public void givenType3AllAuthorizationModifiedWhenEvaluatinZeSchemaThenImpact() throws Exception {

    returnedMetadatas =
        calculator.getReferencesToMetadata(
            automaticMetaInZeSchemaUsingTaxos, type3AllAuthorizations);
    assertThat(returnedMetadatas).containsOnly(zeSchemaTaxos);
  }
 @Test
 public void
     givenType1AllAuthorizationModifiedWhenEvaluatingAutomaticMetaInType2ThenImpactWithType2RelationToType1()
         throws Exception {
   returnedMetadatas =
       calculator.getReferencesToMetadata(automaticMetaInType2UsingTaxos, type1AllAuthorizations);
   assertThat(returnedMetadatas).containsOnly(type2RelationToType1);
 }
  @Test
  public void
      givenType2PathModifiedWhenEvaluatingAutomaticMetaInType4ThenImpactWithType3RelationToType2()
          throws Exception {

    returnedMetadatas =
        calculator.getReferencesToMetadata(automaticMetaInType4UsingTaxos, type2Path);
    assertThat(returnedMetadatas).containsOnly(type4CustomRelationToType2Custom);
  }
  @Test
  public void
      givenZeSchemaPathModifiedWhenEvaluatingAutomaticMetaInAnotherSchemaThenHasImpactAnotherSchemaRecordWithParentRelation()
          throws Exception {

    returnedMetadatas =
        calculator.getReferencesToMetadata(automaticMetaInAnotherSchemaUsingTaxos, zeSchemaPath);
    assertThat(returnedMetadatas).containsOnly(anotherSchemaReferenceToZeSchema);
  }
  @Test
  public void
      givenZeSchemaAllAuthorizationModifiedWhenEvaluatingAutomaticMetaInZeSchemaThenHasImpactOnSubRecordsWithParentRelation()
          throws Exception {

    returnedMetadatas =
        calculator.getReferencesToMetadata(
            automaticMetaInZeSchemaUsingTaxos, zeSchemaAllAuthorizations);
    assertThat(returnedMetadatas).containsOnly(zeSchemaReferenceToZeSchema);
  }