def test_integer_double_or_string(self): """tests the integer_double_or_string function""" # out of range with self.assertRaises(SyntaxError): integer_double_or_string(BDFCard([1.]), 1, 'field') with self.assertRaises(SyntaxError): integer_double_or_string(BDFCard(['1b']), 0, 'field') # integer self.check_integer(integer_double_or_string) # float self.check_double(integer_double_or_string) # string self.assertEqual( 'LOAD', integer_double_or_string(BDFCard(['load']), 0, 'field'))
def test_integer_double_or_string(self): # out of range with self.assertRaises(SyntaxError): integer_or_double(BDFCard([1.]), 1, 'field') with self.assertRaises(SyntaxError): integer_double_or_string(BDFCard(['1b']), 0, 'field') # integer self.check_integer(integer_double_or_string) # float self.check_double(integer_double_or_string) # string self.assertEqual('LOAD', integer_double_or_string(BDFCard(['load']), 0, 'field')) self.assertEqual('MN-MM', integer_double_string_or_blank(BDFCard(['MN-MM']), 0, 'field')) #self.assertEqual(-1, integer_double_string_or_blank(BDFCard(['-1']), 0, 'field')) self.assertEqual(1000, integer_double_string_or_blank(BDFCard([1000]), 0, 'field'))
def add_card(cls, card, comment=''): eid = integer(card, 1, 'eid') ium = card.index('UM') if ium > 0: assert string(card, ium, 'UM') == 'UM' #assert isinstance(card[-1], string_types), 'card[-1]=%r type=%s' %(card[-1], type(card[-1])) alpha_last = integer_double_or_string(card, -1, 'alpha_last') if isinstance(alpha_last, float): alpha = alpha_last card.pop( ) # remove the last field so len(card) will not include alpha else: alpha = 0. # loop till UM, no field9,field10 n = 1 i = 0 offset = 2 Gni = [] Cni = [] Gmi = [] Cmi = [] while offset + i < ium - 1: #print('field(%s) = %s' % (offset + i, card.field(offset + i))) gni = integer_or_blank(card, offset + i, 'gn%i' % n) cni = components_or_blank(card, offset + i + 1, 'cn%i' % n) if gni: #print("gni=%s cni=%s" % (gni ,cni)) Gni.append(gni) Cni.append(cni) n += 1 else: assert cni is None i += 2 # loop till alpha, no field9,field10 n = 1 offset = ium + 1 i = 0 # dont grab alpha while offset + i < len(card): gmi = integer_or_blank(card, offset + i, 'gm%i' % n) cmi = components_or_blank(card, offset + i + 1, 'cm%i' % n) if gmi: Gmi.append(gmi) Cmi.append(cmi) n += 1 else: assert cmi is None i += 2 return RBE1(eid, Gni, Cni, Gmi, Cmi, alpha=alpha, comment=comment)
def add_card(cls, card, comment=''): eid = integer(card, 1, 'eid') ium = card.index('UM') if ium > 0: assert string(card, ium, 'UM') == 'UM' #assert isinstance(card[-1], string_types), 'card[-1]=%r type=%s' %(card[-1], type(card[-1])) alpha_last = integer_double_or_string(card, -1, 'alpha_last') if isinstance(alpha_last, float): alpha = alpha_last card.pop() # remove the last field so len(card) will not include alpha else: alpha = 0. # loop till UM, no field9,field10 n = 1 i = 0 offset = 2 Gni = [] Cni = [] Gmi = [] Cmi = [] while offset + i < ium - 1: #print('field(%s) = %s' % (offset + i, card.field(offset + i))) gni = integer_or_blank(card, offset + i, 'gn%i' % n) cni = components_or_blank(card, offset + i + 1, 'cn%i' % n) if gni: #print("gni=%s cni=%s" % (gni ,cni)) Gni.append(gni) Cni.append(cni) n += 1 else: assert cni is None i += 2 # loop till alpha, no field9,field10 n = 1 offset = ium + 1 i = 0 # dont grab alpha while offset + i < len(card): gmi = integer_or_blank(card, offset + i, 'gm%i' % n) cmi = components_or_blank(card, offset + i + 1, 'cm%i' % n) if gmi: Gmi.append(gmi) Cmi.append(cmi) n += 1 else: assert cmi is None i += 2 return RBE1(eid, Gni, Cni, Gmi, Cmi, alpha=alpha, comment=comment)
def test_integer_double_or_string(self): # out of range with self.assertRaises(SyntaxError): integer_or_double(BDFCard([1.]), 1, 'field') # integer self.check_integer(integer_double_or_string) # float self.check_double(integer_double_or_string) # string self.assertEqual('LOAD', integer_double_or_string(BDFCard(['load']), 0, 'field'))