blob: 71caf416642943f90387e61e917e5b070570f6a5 [file] [edit]
# Copyright 2018 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import unittest
from tracing.value import histogram_deserializer
from tracing.value import histogram_unittest
from tracing.value.diagnostics import diagnostic
from tracing.value.diagnostics import related_event_set
class RelatedEventSetUnittest(unittest.TestCase):
def testRoundtrip(self):
events = related_event_set.RelatedEventSet()
events.Add({
'stableId': '0.0',
'title': 'foo',
'start': 0,
'duration': 1,
})
d = events.AsDict()
clone = diagnostic.Diagnostic.FromDict(d)
self.assertEqual(
histogram_unittest.ToJSON(d), histogram_unittest.ToJSON(clone.AsDict()))
self.assertEqual(len(events), 1)
event = list(events)[0]
self.assertEqual(event['stableId'], '0.0')
self.assertEqual(event['title'], 'foo')
self.assertEqual(event['start'], 0)
self.assertEqual(event['duration'], 1)
def testDeserialize(self):
d = histogram_deserializer.HistogramDeserializer(['aaa'])
events = related_event_set.RelatedEventSet.Deserialize([[42, 0, 10, 20]], d)
self.assertEqual(len(events), 1)
event = list(events)[0]
self.assertEqual(event['stableId'], 42)
self.assertEqual(event['title'], 'aaa')
self.assertEqual(event['start'], 10)
self.assertEqual(event['duration'], 20)