def testCase100(self): data = {'a': {'b': {'c': 2}}} D = JSONData({}) n = JSONPointer('') n = n.get_node(D.data) D.branch_add(n,None,data) assert D.data == data pass
def testCase100(self): data = {'a': {'b': {'c': 2}}} D = JSONData([]) n = JSONPointer('').get_node(D.data) D.branch_add(n, '-', data) # D.branch_add(n,None,data) assert D.data == [data] pass
def testCase012(self): data = {'a': {'b': {'c': 2}}} D = JSONData(data) n = JSONPointer("/a/b/c") n = n.get_node(D.data, True) D.branch_add(n, None, data) assert D.data == {'a': {'b': {'a': {'b': {}}}}} pass
def testCase010(self): data = {'a': {'b': {'c': 2}}} target = {'A': {'A': 'x'}} D = JSONData(data) n = JSONPointer("/a/b/c") n = n.get_node(D.data, True) D.branch_add(target['A'], None, n) rdata = {'A': {'c': 2}} assert target == rdata pass
def testCase010(self): data = [[[2]]] target = {'A': {'A': [3]}} D = JSONData(data) n = JSONPointer("/0/0") n = n.get_node(D.data) D.branch_add(target['A']['A'], None, n) rdata = {'A': {'A': [2]}} assert target == rdata pass
def testCase100(self): n3 = { 'A': {'a0': { 'b0': { 'c0': 2 }, 'b1': {'c0': 3}, 'b2': {'c0': 4} }}} n4 = { 'B': {'a0': { 'b0': { 'c0': 2 }, 'b1': {'c0': 3}, 'b2': {'c0': 4} }}} n6 = { 'x0': { 'x1': { 'x2': n4 }} } sl6 = [ n3, n6, n4, ] p0 = JSONData.getPointerPath(n4['B']['a0']['b2'],sl6) resx = [[1, 'x0', 'x1', 'x2', 'B', 'a0', 'b2']] assert p0 == resx p0 = JSONData.getPointerPath(n4['B']['a0']['b2'],sl6,JSONData.FIRST) resx = [[1, 'x0', 'x1', 'x2', 'B', 'a0', 'b2']] assert p0 == resx
def testCase500(self): """Equal.""" n0 = [[[2]]] n1 = [[[2]]] ret = JSONData.getTreeDiff(n0, n1) assert ret == True pass
def testCase820(self): """Diff.""" mydiffs = [] n0 = [0, [3], [[0, 1]], [[2]]] n1 = [1, [1], [[0, 2]], ['y', ['z', 3]]] ret = JSONData.getTreeDiff(n0, n1, mydiffs, True) assert ret == False assert mydiffs == [{ 'n1[0]': 1, 'dl': 0, 'n0[0]': 0 }, { 'dl': 1, 'n0[1][0]': 3, 'n1[1][0]': 1 }, { 'n1[2][0][1]': 2, 'dl': 2, 'n0[2][0][1]': 1 }, { 'dl': 1, 'n0[3]': [[2]], 'n1[3]': ['y', ['z', 3]] }] pass
def testCase504(self): """Diff.""" n0 = [[[2]]] n1 = ['x', ['y', ['z', 2]]] ret = JSONData.getTreeDiff(n0, n1) assert ret == False pass
def testCase100(self): c0 = {'c0': 4} n3 = {'A': {'a0': {'b0': c0, 'b1': {'c0': 3}, 'b2': c0}}} n4 = {'B': {'a0': {'b0': {'c0': 2}, 'b1': c0, 'b2': c0}}} n6 = {'x0': {'x1': {'x2': n4}}} n7 = {'y0': {'y1': n4}} n8 = {'y0': {'y1': c0}} sl6 = [ n3, n6, n4, n7, n8, ] p0 = JSONData.getPointerPath(n4['B']['a0']['b2']['c0'], sl6, JSONData.ALL) resx = [[0, 'A', 'a0', 'b0', 'c0'], [0, 'A', 'a0', 'b2', 'c0'], [1, 'x0', 'x1', 'x2', 'B', 'a0', 'b1', 'c0'], [1, 'x0', 'x1', 'x2', 'B', 'a0', 'b2', 'c0'], [2, 'B', 'a0', 'b1', 'c0'], [2, 'B', 'a0', 'b2', 'c0'], [3, 'y0', 'y1', 'B', 'a0', 'b1', 'c0'], [3, 'y0', 'y1', 'B', 'a0', 'b2', 'c0'], [4, 'y0', 'y1', 'c0']] assert p0 == resx
def testCase500(self): """Equal.""" n0 = {'a': {'b': {'c': [2]}}} n1 = {'a': {'b': {'c': [2]}}} ret = JSONData.getTreeDiff(n0, n1) assert ret == True pass
def testCase021(self): c0 = [4] n0 = [[{'c0': 'c0'}, {'c3': [3]}, ['c0']]] n1 = [[{'c0': c0}, {'c3': [3]}, ['c0']]] n2 = [[{'c0': 'c0'}, {'c3': [3]}, [c0]]] sl = [ n0, n1, n2, ] p0 = JSONData.getPointerPath(c0, sl, JSONData.ALL) resx = [[1, 0, 0, 'c0'], [2, 0, 2, 0]] assert p0 == resx pathlst = [] for rx in resx: pathlst.append(JSONPointer(rx).get_pointer()) pathx = [ u'/1/0/0/c0', u'/2/0/2/0', ] assert pathlst == pathx vallst = [] for rx in resx: vallst.append(JSONPointer(rx).get_node_or_value(sl)) vallstx = [ [4], [4], ] assert vallst == vallstx
def testCase503(self): """Diff.""" n0 = {'a': {'b': [{'c': 2}]}} n1 = {'a': {'b': [{'C': 2}]}} ret = JSONData.getTreeDiff(n0, n1) assert ret == False pass
def testCase100(self): n5 = [ 12 ] sl5 = [ n5, ] p0 = JSONData.getPointerPath(n5,sl5) resx = [[0]] assert p0 == resx pass
def testCase110(self): n3 = [ [ [ [ 2 ], [ [ 3 ] ], [ [ 4 ] ] ] ] ] n4 = [ [ [ [ 3 ], [ [ 4 ] ], [ [ 5 ] ] ] ] ] sl4 = [ n3, n4, ] p0 = JSONData.getPointerPath(n4,sl4) resx = [[1]] assert p0 == resx pass
def testCase110(self): n3 = { 'A': {'a0': { 'b0': { 'c0': 2 }, 'b1': {'c0': 3}, 'b2': {'c0': 4} }}} n4 = { 'B': {'a0': { 'b0': { 'c0': 2 }, 'b1': {'c0': 3}, 'b2': {'c0': 4} }}} sl4 = [ n3, n4, ] p0 = JSONData.getPointerPath(n4,sl4) resx = [[1]] assert p0 == resx pass
def testCase100(self): c0 = [ 4 ] n3 = [ [ [ c0, [ [ 3 ] ], [ c0 ] ] ] ] n4 = [ [ [ [ 3 ], [ c0 ], [ c0 ] ] ] ] n6 = [ [ [ [ n4 ] ] ] ] n7 = [ [ n4 ] ] n8 = [ [ c0 ] ] sl6 = [ n3, n6, n4, n7, n8, ] p0 = JSONData.getPointerPath(n4[0][0][2][0],sl6,JSONData.ALL) resx = [ [0, 0, 0, 0], [0, 0, 0, 2, 0], [1, 0, 0, 0, 0, 0, 0, 1, 0], [1, 0, 0, 0, 0, 0, 0, 2, 0], [2, 0, 0, 1, 0], [2, 0, 0, 2, 0], [3, 0, 0, 0, 0, 1, 0], [3, 0, 0, 0, 0, 2, 0], [4, 0, 0] ] assert p0 == resx pathlst = [] for rx in resx: pathlst.append(JSONPointer(rx).get_pointer()) pathx = [ u'/0/0/0/0', u'/0/0/0/2/0', u'/1/0/0/0/0/0/0/1/0', u'/1/0/0/0/0/0/0/2/0', u'/2/0/0/1/0', u'/2/0/0/2/0', u'/3/0/0/0/0/1/0', u'/3/0/0/0/0/2/0', u'/4/0/0' ] assert pathlst == pathx vallst = [] for rx in resx: vallst.append(JSONPointer(rx).get_node_or_value(sl6)) vallstx = [ [4], [4], [4], [4], [4], [4], [4], [4], [4] ] assert vallst == vallstx
def testCase800(self): """Diff.""" mydiffs = [] n0 = { 'x': {'y': 1}} n1 = { 'x': {'y': 2}} ret = JSONData.getTreeDiff(n0, n1, mydiffs, True) assert ret == False assert mydiffs == [{'dl': 1, 'n1[x][y]': 2, 'n0[x][y]': 1}] pass
def testCase602(self): """Diff.""" mydiffs = [] n0 = [[[2]]] n1 = [[['z', 3]]] ret = JSONData.getTreeDiff(n0, n1, mydiffs) assert ret == False assert mydiffs == [{'dl': 2, 'n1[0][0]': ['z', 3], 'n0[0][0]': [2]}] pass
def testCase802(self): """Diff.""" mydiffs = [] n0 = [[[0, 1]]] n1 = [[[0, 2]]] ret = JSONData.getTreeDiff(n0, n1, mydiffs, True) assert ret == False assert mydiffs == [{'n0[0][0][1]': 1, 'dl': 2, 'n1[0][0][1]': 2}] pass
def testCase701(self): """Diff.""" mydiffs = [] n0 = [[[2]]] n1 = [['y', ['z', 3]]] ret = JSONData.getTreeDiff(n0, n1, mydiffs, True) assert ret == False assert mydiffs == [{'n1[0]': ['y', ['z', 3]], 'dl': 1, 'n0[0]': [[2]]}] pass
def testCase602(self): """Diff.""" mydiffs = [] n0 = { 'a': { 'b': { 'c': 2 }}} n1 = { 'a': { 'b': { 'C': 3 }}} ret = JSONData.getTreeDiff(n0, n1, mydiffs) assert ret == False assert mydiffs == [{'dl': 2, 'n0[a][b][c]': 2, 'n1[a][b]': {'C': 3}}] pass
def testCase820(self): """Diff.""" mydiffs = [] n0 = { 'a': { 'b': { 'c': 2 }}, 'x': {'y': 1}} n1 = { 'a': { 'B': { 'C': 3 }}, 'x': {'y': 2}} ret = JSONData.getTreeDiff(n0, n1, mydiffs, True) assert ret == False assert mydiffs == [{'dl': 1, 'n0[a][b]': {'c': 2}, 'n1[a]': {'B': {'C': 3}}}, {'dl': 1, 'n1[x][y]': 2, 'n0[x][y]': 1}] pass
def testCase600(self): """Diff.""" mydiffs = [] n0 = { 'a': { 'b': { 'c': 2 }}} n1 = { 'A': { 'B': { 'C': 3 }}} ret = JSONData.getTreeDiff(n0, n1, mydiffs) assert ret == False assert mydiffs == [{'n1': {'A': {'B': {'C': 3}}}, 'n0[a]': {'b': {'c': 2}}, 'dl': 0}] pass
def testCase810(self): """Diff.""" mydiffs = [] n0 = { 'a': { 'b': { 'c': 2 }}, 'x': 0, 'z': 3, 'w': {'v': 1} } n1 = { 'A': { 'B': { 'C': 3 }}, 'y': 1, 'z': 4, 'w': {'v': 2} } ret = JSONData.getTreeDiff(n0, n1, mydiffs, True) assert ret == False assert mydiffs == [{'n1': {'A': {'B': {'C': 3}}, 'y': 1, 'z': 4, 'w': {'v': 2}}, 'n0[a]': {'b': {'c': 2}}, 'dl': 0}, {'n1': {'A': {'B': {'C': 3}}, 'y': 1, 'z': 4, 'w': {'v': 2}}, 'dl': 0, 'n0[x]': 0}, {'dl': 0, 'n1[z]': 4, 'n0[z]': 3}, {'n1[w][v]': 2, 'n0[w][v]': 1, 'dl': 1}] pass
def testCase100(self): n3 = [[[[2], [[3]], [[4]]]]] n4 = [[[[3], [[4]], [[5]]]]] n6 = [[[[n3, n4]]]] sl6 = [ n3, n6, n4, ] a = n4[0][0][2] assert n4[0][0][2] == [[5]] p0 = JSONData.getPointerPath(n4[0][0][2], n4) resx = [[0, 0, 2]] assert p0 == resx p0 = JSONData.getPointerPath(n4[0][0][2], sl6) resx = [[1, 0, 0, 0, 1, 0, 0, 2]] assert p0 == resx
def testCase600(self): """Diff.""" mydiffs = [] n0 = [[[2]]] n1 = ['x', ['y', ['z', 3]]] ret = JSONData.getTreeDiff(n0, n1, mydiffs) assert ret == False assert mydiffs == [{ 'n0': [[[2]]], 'n1': ['x', ['y', ['z', 3]]], 'dl': 0 }] pass
def testCase100(self): c0 = [ 4 ] n3 = [ [ [ 1, [ [ 3 ] ], [ c0 ] ] ] ] n4 = [ [ [ [ 3 ], [ c0 ], [ c0 ] ] ] ] sl6 = [ n3, ] p0 = JSONData.getPointerPath(n4[0][0][2][0],sl6,JSONData.ALL) resx = [ [0, 0, 0, 2, 0], ] assert p0 == resx
def testCase022(self): c0 = [4] n0 = [[{'c0': 'c0'}, {'c3': [3]}, ['c0']]] n1 = [[{'c0': c0}, {'c3': [3]}, ['c0']]] n2 = [[{'c0': 'c0'}, {'c3': [3]}, [c0]]] n3 = [[{'c0': c0}, {'c3': [3]}, [c0]]] n4 = {'x0': [[[3], {'c0': c0}, [c0]]]} n6 = [[[[n4]]]] n7 = [[n4]] n8 = {'x': {'c0': c0}} sl = [ n0, n1, n2, n3, n6, n4, n7, n8, ] p0 = JSONData.getPointerPath(c0, sl, JSONData.ALL) resx = [[1, 0, 0, 'c0'], [2, 0, 2, 0], [3, 0, 0, 'c0'], [3, 0, 2, 0], [4, 0, 0, 0, 0, 'x0', 0, 1, 'c0'], [4, 0, 0, 0, 0, 'x0', 0, 2, 0], [5, 'x0', 0, 1, 'c0'], [5, 'x0', 0, 2, 0], [6, 0, 0, 'x0', 0, 1, 'c0'], [6, 0, 0, 'x0', 0, 2, 0], [7, 'x', 'c0']] assert p0 == resx pathlst = [] for rx in resx: pathlst.append(JSONPointer(rx).get_pointer()) pathx = [ u'/1/0/0/c0', u'/2/0/2/0', u'/3/0/0/c0', u'/3/0/2/0', u'/4/0/0/0/0/x0/0/1/c0', u'/4/0/0/0/0/x0/0/2/0', u'/5/x0/0/1/c0', u'/5/x0/0/2/0', u'/6/0/0/x0/0/1/c0', u'/6/0/0/x0/0/2/0', u'/7/x/c0' ] assert pathlst == pathx vallst = [] for rx in resx: vallst.append(JSONPointer(rx).get_node_or_value(sl)) vallstx = [[4], [4], [4], [4], [4], [4], [4], [4], [4], [4], [4]] assert vallst == vallstx
def testCase000(self): global jval global jdata jval = { 'value0': [ 11, 22, 33, ], 'value1': [ 100, 200, 300, ] } jdata = JSONData(jval)