示例#1
0
    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"]))
示例#2
0
    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"])
示例#3
0
    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*"])
示例#4
0
    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"]))
示例#5
0
    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")