public void BacktraceMetricsUniqueEvent_ShouldUpdateAttributes_UniqueEventIsUpdated()
        {
            const int    nextTime             = 1000;
            const string newAttributeName     = "foo";
            var          timestamp            = DateTimeHelper.Timestamp();
            var          expectedNewTimestamp = timestamp + nextTime;
            var          attributes           = _attributeProvider.GenerateAttributes();


            var uniqueEvent = new UniqueEvent(UniqueAttributeName, timestamp, attributes);

            _attributeProvider[newAttributeName] = newAttributeName;
            uniqueEvent.UpdateTimestamp(expectedNewTimestamp, _attributeProvider.GenerateAttributes());

            Assert.AreEqual(newAttributeName, uniqueEvent.Attributes[newAttributeName]);
        }
        public void BacktraceMetricsUniqueEvent_ShouldPreventFromUpdatingAttributeWhenUniqueAttributeValueIsEmpty_UniqueEventIsUpdated()
        {
            const int    nextTime             = 1000;
            const string uniqueEventName      = "BacktraceMetricsUniqueEvent_ShouldPreventFromUpdatingAttributeWhenUniqueAttributeValueIsEmpty_UniqueEventIsUpdated";
            var          attributeProvider    = new AttributeProvider();
            var          timestamp            = DateTimeHelper.Timestamp();
            var          expectedNewTimestamp = timestamp + nextTime;

            attributeProvider[uniqueEventName] = uniqueEventName;
            var attributes = attributeProvider.GenerateAttributes();

            var uniqueEvent = new UniqueEvent(uniqueEventName, timestamp, attributes);

            attributeProvider[uniqueEventName] = string.Empty;

            uniqueEvent.UpdateTimestamp(expectedNewTimestamp, attributeProvider.GenerateAttributes());

            Assert.AreEqual(uniqueEventName, uniqueEvent.Attributes[uniqueEventName]);
        }