def testPropertyName(self): p = Gaffer.DictPath({ "b": "aardvark", "a": "bison", }, "/") p.setFilter(Gaffer.MatchPatternPathFilter(["a*"])) self.assertEqual(set([str(c) for c in p.children()]), set(["/a"])) p.setFilter(Gaffer.MatchPatternPathFilter(["a*"], "dict:value")) self.assertEqual(set([str(c) for c in p.children()]), set(["/b"]))
def testPatternAccessors(self): f = Gaffer.MatchPatternPathFilter(["a", "b", "c"]) self.assertEqual(f.getMatchPatterns(), ["a", "b", "c"]) f.setMatchPatterns(["d", "e"]) self.assertEqual(f.getMatchPatterns(), ["d", "e"])
def testPatternsAsIterables(self): f = Gaffer.MatchPatternPathFilter(itertools.chain(["a*"], ["b*"])) self.assertEqual(f.getMatchPatterns(), ["a*", "b*"]) f.setMatchPatterns(["c*", "d*"]) self.assertEqual(f.getMatchPatterns(), ["c*", "d*"])
def testInverted(self): p = Gaffer.DictPath({ "a": "aardvark", "b": "bison", }, "/") f = Gaffer.MatchPatternPathFilter(["a*"]) p.setFilter(f) self.assertEqual(set([str(c) for c in p.children()]), set(["/a"])) f.setInverted(True) self.assertEqual(set([str(c) for c in p.children()]), set(["/b"]))
def test(self): p = Gaffer.DictPath( { ".hiddenFile": "a", "a.exr": "b", "b.tif": "c", }, "/", ) self.assertEqual(set([str(c) for c in p.children()]), set(["/.hiddenFile", "/a.exr", "/b.tif"])) p.setFilter(Gaffer.MatchPatternPathFilter(["*.exr"])) self.assertEqual(set([str(c) for c in p.children()]), set(["/a.exr"])) p.setFilter(Gaffer.MatchPatternPathFilter(["*"])) self.assertEqual(set([str(c) for c in p.children()]), set(["/.hiddenFile", "/a.exr", "/b.tif"])) p.setFilter(Gaffer.MatchPatternPathFilter([".*"])) self.assertEqual(set([str(c) for c in p.children()]), set(["/.hiddenFile"]))
def testExceptionSafety(self): p = Gaffer.DictPath({ "a": "aardvark", "b": 10, }, "/") f = Gaffer.MatchPatternPathFilter(["a*"], "dict:value") p.setFilter(f) with IECore.CapturingMessageHandler() as mh: c = p.children() self.assertEqual(len(mh.messages), 1) self.assertEqual(mh.messages[0].context, "MatchPatternPathFilter") self.assertEqual(mh.messages[0].level, IECore.Msg.Level.Error) self.assertEqual(mh.messages[0].message, "Expected StringData") self.assertEqual(len(c), 1) self.assertEqual(str(c[0]), "/a")