def test_lookup_no_such_object(assert_log): value = dlisio.core.obname(10, 2, 'channel') ch = Channel() ch.logicalfile = dlisio.dlis(None, [], [], []) res = lookup(ch, linkage.obname('CHANNEL'), value) assert res is None assert_log('not in logical file')
def makeframe(): frame = dlisio.plumbing.Frame() frame.name = 'MAINFRAME' frame.origin = 0 frame.copynumber = 0 time0 = dlisio.plumbing.Channel() time0.name = 'TIME' time0.origin = 0 time0.copynumber = 0 attic = { 'DIMENSION': [1], 'REPRESENTATION-CODE': [2] # f4 } time0.attic = attic tdep = dlisio.plumbing.Channel() tdep.name = 'TDEP' tdep.origin = 0 tdep.copynumber = 0 attic = { 'DIMENSION': [2], 'REPRESENTATION-CODE': [13] # i2 } tdep.attic = attic time1 = dlisio.plumbing.Channel() time1.name = 'TIME' time1.origin = 1 time1.copynumber = 0 attic = { 'DIMENSION': [1], 'REPRESENTATION-CODE': [13], # i2 } time1.attic = attic #frame.channels = [time0, tdep, time1] frame.attic = { 'CHANNELS': [ core.obname(time0.origin, time0.copynumber, time0.name), core.obname(tdep.origin, tdep.copynumber, tdep.name), core.obname(time1.origin, time1.copynumber, time1.name) ] } logicalfile = dlisio.dlis(None, [], [], []) logicalfile.indexedobjects['FRAME'] = {frame.fingerprint: frame} logicalfile.indexedobjects['CHANNEL'] = { time0.fingerprint: time0, tdep.fingerprint: tdep, time1.fingerprint: time1, } for objs in logicalfile.indexedobjects.values(): for obj in objs.values(): obj.logicalfile = logicalfile frame.link() return frame
def g(): s = dlisio.open("tests/test_dlis.py") #any existing file is required g = dlisio.dlis(s, [], None, []) ch = Channel() ch.name = 'CHANNEL1' ch.origin = 0 ch.copynumber = 0 g.indexedobjects["CHANNEL"][ch.fingerprint] = ch ch = Channel() ch.name = 'CHANNEL1.V2' ch.origin = 0 ch.copynumber = 0 g.indexedobjects["CHANNEL"][ch.fingerprint] = ch ch = Channel() ch.name = 'CHANNEL1' ch.origin = 0 ch.copynumber = 1 g.indexedobjects["CHANNEL"][ch.fingerprint] = ch un = Unknown() un.name = 'UNEFRAME' un.origin = 0 un.copynumber = 0 un.type = "NONCHANNEL" g.indexedobjects["NONCHANNEL"][un.fingerprint] = un fr = Frame() fr.name = 'UNEFRAME' fr.origin = 0 fr.copynumber = 0 g.indexedobjects["FRAME"][fr.fingerprint] = fr un = Unknown() un.name = '440-CHANNEL' un.origin = 0 un.copynumber = 0 un.type = "440.TYPE" g.indexedobjects["440.TYPE"][un.fingerprint] = un ch = Channel() ch.name = '440.CHANNEL' ch.origin = 0 ch.copynumber = 0 ch.type = "440-TYPE" g.indexedobjects["440-TYPE"][ch.fingerprint] = ch return g
def test_lookup(): other = Channel() other.name = 'channel' other.origin = 10 other.copynumber = 2 lf = dlisio.dlis(None, [], [], []) lf.indexedobjects['CHANNEL'] = {other.fingerprint : other} ch = Channel() ch.logicalfile = lf value = dlisio.core.obname(10, 2, 'channel') res = lookup(ch, linkage.obname('CHANNEL'), value) assert res == other
def test_channel_fmt(): ch1 = dlisio.plumbing.Channel() ch1.name = 'ch1' ch1.origin = 0 ch1.copynumber = 0 ch1.attic = { 'DIMENSION': [5], 'REPRESENTATION-CODE': [11], } ch2 = dlisio.plumbing.Channel() ch2.name = 'ch2' ch2.origin = 0 ch2.copynumber = 0 ch2.attic = { 'DIMENSION': [2, 2], 'REPRESENTATION-CODE': [3], } ch3 = dlisio.plumbing.Channel() ch3.name = 'ch3' ch3.origin = 0 ch3.copynumber = 0 ch3.attic = { 'DIMENSION': [4, 2], 'REPRESENTATION-CODE': [26], } ch4 = dlisio.plumbing.Channel() ch4.name = 'ch4' ch4.origin = 0 ch4.copynumber = 0 ch4.attic = { 'DIMENSION': [1], 'REPRESENTATION-CODE': [17], } ch5 = dlisio.plumbing.Channel() ch5.name = 'ch5' ch5.origin = 0 ch5.copynumber = 0 ch5.attic = { 'DIMENSION': [2, 3, 1], 'REPRESENTATION-CODE': [12], } frame = dlisio.plumbing.Frame() frame.name = 'fr' frame.origin = 0 frame.copynumber = 0 frame.attic = { 'CHANNELS': [ core.obname(ch1.origin, ch1.copynumber, ch1.name), core.obname(ch2.origin, ch2.copynumber, ch2.name), core.obname(ch3.origin, ch3.copynumber, ch3.name), core.obname(ch4.origin, ch4.copynumber, ch4.name), core.obname(ch5.origin, ch5.copynumber, ch5.name), ] } logicalfile = dlisio.dlis(None, [], [], []) logicalfile.indexedobjects['FRAME'] = {frame.fingerprint: frame} logicalfile.indexedobjects['CHANNEL'] = { ch1.fingerprint: ch1, ch2.fingerprint: ch2, ch3.fingerprint: ch3, ch4.fingerprint: ch4, ch5.fingerprint: ch5, } frame.logicalfile = logicalfile ch1.logicalfile = logicalfile ch2.logicalfile = logicalfile ch3.logicalfile = logicalfile ch4.logicalfile = logicalfile ch5.logicalfile = logicalfile pre_fmt, ch_fmt, post_fmt = frame.fmtstrchannel(ch3) assert pre_fmt == "CCCCCbbbb" assert ch_fmt == "qqqqqqqq" assert post_fmt == "Ldddddd"
def g(): s = dlisio.open( "tests/test_logical_file.py") #any existing file is required g = dlisio.dlis(s, [], [], []) ch = Channel() ch.name = 'CHANNEL1' ch.origin = 0 ch.copynumber = 0 ch.logicalfile = g g.indexedobjects["CHANNEL"][ch.fingerprint] = ch ch = Channel() ch.name = 'CHANNEL1.V2' ch.origin = 0 ch.copynumber = 0 ch.logicalfile = g g.indexedobjects["CHANNEL"][ch.fingerprint] = ch ch = Channel() ch.name = 'CHANNEL1' ch.origin = 0 ch.copynumber = 1 ch.logicalfile = g g.indexedobjects["CHANNEL"][ch.fingerprint] = ch un = Unknown() un.name = 'UNEFRAME' un.origin = 0 un.copynumber = 0 un.type = "NONCHANNEL" un.logicalfile = g g.indexedobjects["NONCHANNEL"][un.fingerprint] = un fr = Frame() fr.name = 'UNEFRAME' fr.origin = 0 fr.copynumber = 0 fr.logicalfile = g g.indexedobjects["FRAME"][fr.fingerprint] = fr un = Unknown() un.name = '440-CHANNEL' un.origin = 0 un.copynumber = 0 un.type = "440.TYPE" un.logicalfile = g g.indexedobjects["440.TYPE"][un.fingerprint] = un ch = Channel() ch.name = '440.CHANNEL' ch.origin = 0 ch.copynumber = 0 ch.type = "440-TYPE" ch.logicalfile = g g.indexedobjects["440-TYPE"][ch.fingerprint] = ch g.record_types = list(g.indexedobjects.keys()) # Simulate the occurance of multiple Channel sets g.record_types.append('CHANNEL') return g