def __init__(self, card=None, data=None, comment=''): RandomTable.__init__(self, card, data) if comment: self._comment = comment if card: self.tid = integer(card, 1, 'tid') self.xaxis = string_or_blank(card, 2, 'xaxis', 'LINEAR') self.yaxis = string_or_blank(card, 3, 'yaxis', 'LINEAR') nfields = len(card) - 1 nterms = (nfields - 9) // 2 if nterms < 0: raise SyntaxError('%r card is too short' % self.type) xy = [] for i in range(nterms): n = 9 + i * 2 if card.field(n) == 'ENDT': break x = double_or_string(card, n, 'x' + str(i + 1)) y = double_or_string(card, n + 1, 'y' + str(i + 1)) if x == 'SKIP' or y == 'SKIP': continue xy += [x, y] string(card, nfields, 'ENDT') isData = False else: self.tid = data[0] self.xaxis = self.map_axis(data[1]) self.yaxis = self.map_axis(data[2]) xy = data[3:] isData = True assert self.xaxis in ['LINEAR', 'LOG'], 'xaxis=|%s|' % (self.xaxis) assert self.yaxis in ['LINEAR', 'LOG'], 'yaxis=|%s|' % (self.yaxis) self.parse_fields(xy, nrepeated=2, isData=isData)
def __init__(self, card=None, data=None, comment=''): Table.__init__(self, card, data) if comment: self._comment = comment if card: self.tid = integer(card, 1, 'tid') nfields = len(card) - 1 nterms = (nfields - 9) // 2 if nterms < 0: raise SyntaxError('%r card is too short' % self.type) xy = [] for i in range(nterms): n = 9 + i * 2 if card.field(n) == 'ENDT': break x = double_or_string(card, n, 'x' + str(i + 1)) y = double_or_string(card, n + 1, 'y' + str(i + 1)) if x == 'SKIP' or y == 'SKIP': continue xy += [x, y] string(card, nfields, 'ENDT') isData = False else: self.tid = data[0] xy = data[1:] isData = True self.parse_fields(xy, nrepeated=2, isData=isData)
def test_double_or_string(self): # out of range with self.assertRaises(SyntaxError): double_or_string(BDFCard([1.] ), 1, 'field')