Ejemplo n.º 1
0
  def testListWithNoneValueMerging(self):
    page0 = self.pages[0]
    v0 = list_of_string_values.ListOfStringValues(
        page0, 'x', 'unit',
        ['L1', 'L2'], same_page_merge_policy=value.CONCATENATE)
    v1 = list_of_string_values.ListOfStringValues(
        page0, 'x', 'unit',
        None, same_page_merge_policy=value.CONCATENATE, none_value_reason='n')
    self.assertTrue(v1.IsMergableWith(v0))

    vM = (list_of_string_values.ListOfStringValues.
          MergeLikeValuesFromSamePage([v0, v1]))
    self.assertEquals(None, vM.values)
    self.assertEquals(none_values.MERGE_FAILURE_REASON, vM.none_value_reason)
Ejemplo n.º 2
0
 def MergeLikeValuesFromSamePage(cls, values):
     assert len(values) > 0
     v0 = values[0]
     return list_of_string_values.ListOfStringValues(
         v0.page,
         v0.name,
         v0.units, [v.value for v in values],
         important=v0.important)
  def testListDifferentPageMerging(self):
    page0 = self.pages[0]
    v0 = list_of_string_values.ListOfStringValues(
        page0, 'x', 'label',
        ['L1', 'L2'], same_page_merge_policy=value.PICK_FIRST)
    v1 = list_of_string_values.ListOfStringValues(
        page0, 'x', 'label',
        ['L3', 'L4'], same_page_merge_policy=value.PICK_FIRST)
    self.assertTrue(v1.IsMergableWith(v0))

    vM = (list_of_string_values.ListOfStringValues.
          MergeLikeValuesFromDifferentPages([v0, v1]))
    self.assertEquals(None, vM.page)
    self.assertEquals('x', vM.name)
    self.assertEquals('label', vM.units)
    self.assertEquals(value.PICK_FIRST, vM.same_page_merge_policy)
    self.assertEquals(True, vM.important)
    self.assertEquals(['L1', 'L2', 'L3', 'L4'], vM.values)
  def testListSamePageMergingWithSamePageConcatenatePolicy(self):
    page0 = self.pages[0]
    v0 = list_of_string_values.ListOfStringValues(
        page0, 'x', 'label',
        ['L1','L2'], same_page_merge_policy=value.CONCATENATE)
    v1 = list_of_string_values.ListOfStringValues(
        page0, 'x', 'label',
        ['L3','L4'], same_page_merge_policy=value.CONCATENATE)
    self.assertTrue(v1.IsMergableWith(v0))

    vM = (list_of_string_values.ListOfStringValues.
          MergeLikeValuesFromSamePage([v0, v1]))
    self.assertEquals(page0, vM.page)
    self.assertEquals('x', vM.name)
    self.assertEquals('label', vM.units)
    self.assertEquals(value.CONCATENATE, vM.same_page_merge_policy)
    self.assertEquals(True, vM.important)
    self.assertEquals(['L1', 'L2', 'L3', 'L4'], vM.values)
  def testAsDict(self):
    v = list_of_string_values.ListOfStringValues(
        None, 'x', 'unit', ['foo', 'bar'],
        same_page_merge_policy=value.PICK_FIRST, important=False)
    d = v.AsDictWithoutBaseClassEntries()

    self.assertEquals(d, {
          'values': ['foo', 'bar']
        })
Ejemplo n.º 6
0
  def testNoneValueAsDict(self):
    v = list_of_string_values.ListOfStringValues(
        None, 'x', 'unit', None, same_page_merge_policy=value.PICK_FIRST,
        important=False, none_value_reason='n')
    d = v.AsDictWithoutBaseClassEntries()

    self.assertEquals(d, {
          'values': None,
          'none_value_reason': 'n'
        })
Ejemplo n.º 7
0
 def _MergeLikeValues(cls, values, page, name, tir_label):
   v0 = values[0]
   merged_value = [v.value for v in values]
   none_value_reason = None
   if None in merged_value:
     merged_value = None
     none_value_reason = none_values.MERGE_FAILURE_REASON
   return list_of_string_values.ListOfStringValues(
       page, name, v0.units, merged_value, important=v0.important,
       tir_label=tir_label,
       none_value_reason=none_value_reason)
Ejemplo n.º 8
0
 def MergeLikeValuesFromDifferentPages(cls,
                                       values,
                                       group_by_name_suffix=False):
     assert len(values) > 0
     v0 = values[0]
     if not group_by_name_suffix:
         name = v0.name
     else:
         name = v0.name_suffix
     return list_of_string_values.ListOfStringValues(
         None,
         name,
         v0.units, [v.value for v in values],
         important=v0.important)
 def testListWithNoneReasonMustHaveNoneValue(self):
     page0 = self.pages[0]
     self.assertRaises(
         none_values.ValueMustHaveNoneValue,
         lambda: list_of_string_values.ListOfStringValues(
             page0, 'x', 'unit', ['L1', 'L2'], none_value_reason='n'))
 def testListWithNoneValueMustHaveNoneReason(self):
     page0 = self.pages[0]
     self.assertRaises(
         none_values.NoneValueMissingReason,
         lambda: list_of_string_values.ListOfStringValues(
             page0, 'x', 'unit', None))