}
@Test
public void testMaskWithWildcard()
{
MaskTree mask = new MaskTree();
PathSpec wildcardSpec = new PathSpec("foo", PathSpec.WILDCARD, "bar");
PathSpec asterixSpec = new PathSpec("foo", "*", "bar");
Assert.assertFalse(wildcardSpec.equals(asterixSpec));
mask.addOperation(wildcardSpec, MaskOperation.POSITIVE_MASK_OP);
Assert.assertEquals(mask.toString(), "{foo={$*={bar=1}}}");
Assert.assertEquals(mask.getOperations().get(wildcardSpec), MaskOperation.POSITIVE_MASK_OP);
Assert.assertEquals(mask.getOperations().get(asterixSpec), null);
mask = new MaskTree();
mask.addOperation(asterixSpec, MaskOperation.POSITIVE_MASK_OP);
Assert.assertEquals(mask.toString(), "{foo={*={bar=1}}}");
Assert.assertEquals(mask.getOperations().get(asterixSpec), MaskOperation.POSITIVE_MASK_OP);
Assert.assertEquals(mask.getOperations().get(wildcardSpec), null);
mask = new MaskTree();
mask.addOperation(asterixSpec, MaskOperation.POSITIVE_MASK_OP);
mask.addOperation(wildcardSpec, MaskOperation.NEGATIVE_MASK_OP);
Assert.assertEquals(mask.getOperations().get(wildcardSpec), MaskOperation.NEGATIVE_MASK_OP);
Assert.assertEquals(mask.getOperations().get(asterixSpec), MaskOperation.POSITIVE_MASK_OP);
}