/**
   * Tests similarity-calculation with a simple pHash-algorithm. This approach is less reliable than
   * similarity-calculation via image-signature, it is more likely to give false positives /
   * negatives if one of the given images is a cutout from the other
   *
   * @throws Exception
   */
  @Test
  public void testSimilaritySimpleHashGreyscale() throws Exception {
    if (similar1a != null
        && similar1b != null
        && different != null
        && similar2b != null
        && similar2a != null) {

      assertTrue(ImageSimilarity.identifyImageSimilarityBasedOnPHash(similar1b, similar1a) >= .7);
      assertTrue(ImageSimilarity.identifyImageSimilarityBasedOnPHash(similar2b, similar2a) >= .7);
      assertTrue(ImageSimilarity.identifyImageSimilarityBasedOnPHash(similar1b, different) < .7);
      assertTrue(ImageSimilarity.identifyImageSimilarityBasedOnPHash(similar1b, different) < .7);

      assertEquals(
          ImageSimilarity.identifyImageSimilarityBasedOnPHash(different, different), 1, 0.00001);
    }
  }