#!/usr/bin/env python3 import json import sys from contains_matcher.matcher import contains if len(sys.argv) <= 2 or len(sys.argv) > 3: print("Usage:", sys.argv[0], "<file_path> <pattern_as_json>") else: doc = json.load(open(sys.argv[1])) pattern = json.loads(sys.argv[2]) print("Pattern", "is" if contains(doc, pattern) else "is not", "contained.")
def test_empty_pattern(self): self.assertTrue(contains({}, []))
def test_regex_matching(self): self.assertTrue(contains(["value"], ["val[u]e"])) self.assertFalse(contains(["value"], ["valx*e"]))
def test_key_value_pair(self): self.assertTrue(contains({"key": "value"}, ["key", "value"])) self.assertFalse(contains({"key": "value"}, ["not_key", "value"])) self.assertFalse(contains({"key": "value"}, ["key", "not_value"]))
def test_one_element_list(self): self.assertTrue(contains(["value"], ["value"])) self.assertFalse(contains(["value"], ["not_value"]))
def test_single_value(self): self.assertTrue(contains({"key": "value"}, ["value"])) self.assertFalse(contains({"key": "value"}, ["not_value"]))