@Test
  public void multiplePropertiesTest() {
    mockProperties(
        transformerProperties,
        "content.transformer.default.priority",
        "11",
        "content.transformer.abc.extensions.pdf.png.priority",
        "22",
        "content.transformer.abc.xyz.extensions.pdf.png.priority",
        "33");

    extractor =
        new TransformerConfigProperty(transformerProperties, mimetypeService, PRIORITY, "55");

    int actual =
        extractor.getInt(
            (ContentTransformer) new DummyContentTransformer("transformer.qaz"),
            "application/pdf",
            "image/png");
    assertEquals("default", 11, actual);
    actual =
        extractor.getInt(
            (ContentTransformer) new DummyContentTransformer("transformer.abc"),
            "application/pdf",
            "image/png");
    assertEquals("abc", 22, actual);
    actual =
        extractor.getInt(
            (ContentTransformer) new DummyContentTransformer("transformer.abc.xyz"),
            "application/pdf",
            "image/png");
    assertEquals("abc.xyz", 33, actual);
  }
  @Test
  public void getSystemWideDefaultTest() {
    mockProperties(transformerProperties, "content.transformer.default.priority", "87");

    extractor =
        new TransformerConfigProperty(transformerProperties, mimetypeService, PRIORITY, "55");
    int actual = extractor.getInt(null, null, null);
    assertEquals("default priority", 87, actual);
  }
  @Test
  public void getSystemWideDefaultWithAnyTest() {
    // Same as getSystemWideDefaultTest except getInt uses ANY rather than null
    mockProperties(transformerProperties, "content.transformer.default.priority", "87");

    extractor =
        new TransformerConfigProperty(transformerProperties, mimetypeService, PRIORITY, "55");
    int actual = extractor.getInt(null, ANY, ANY);
    assertEquals("default priority", 87, actual);
  }
  @Test
  public void useNonExistentSystemWideDefaultTest() {
    mockProperties(transformerProperties);

    extractor =
        new TransformerConfigProperty(transformerProperties, mimetypeService, PRIORITY, "55");
    int actual =
        extractor.getInt(
            (ContentTransformer) new DummyContentTransformer("transformer.abc.xyz"), null, null);
    assertEquals("default priority", 55, actual);
  }
  @Test
  public void simpleTest() {
    mockProperties(transformerProperties, "content.transformer.abc.xyz.priority", "87");

    extractor =
        new TransformerConfigProperty(transformerProperties, mimetypeService, PRIORITY, "55");
    int actual =
        extractor.getInt(
            (ContentTransformer) new DummyContentTransformer("transformer.abc.xyz"), null, null);
    assertEquals("transformer default priority", 87, actual);
  }
  @Test(expected = NumberFormatException.class)
  public void badLongAbcTest() {
    mockProperties(
        transformerProperties, "content.transformer.abc.xyz.extensions.pdf.png.priority", "abc");

    extractor =
        new TransformerConfigProperty(transformerProperties, mimetypeService, PRIORITY, "55");
    extractor.getLong(
        (ContentTransformer) new DummyContentTransformer("transformer.abc.xyz"),
        "application/pdf",
        "image/png");
  }
  @Test
  public void extensionsTest() {
    mockProperties(
        transformerProperties, "content.transformer.abc.xyz.extensions.pdf.png.priority", "87");

    extractor =
        new TransformerConfigProperty(transformerProperties, mimetypeService, PRIORITY, "55");
    int actual =
        extractor.getInt(
            (ContentTransformer) new DummyContentTransformer("transformer.abc.xyz"),
            "application/pdf",
            "image/png");
    assertEquals("transformer default priority", 87, actual);
  }