public void MoveToThrowsOnNonExistingCollector()
        {
            var source      = new CollectorRegistry();
            var destination = new CollectorRegistry();

            Assert.Throws <ArgumentOutOfRangeException>(() => source.MoveTo("test_counter", destination));
        }
        public void MoveToThrowsOnNullDestination()
        {
            var source  = new CollectorRegistry();
            var factory = new MetricFactory(source);

            factory.CreateCounter("test_counter", string.Empty).Inc();

            Assert.Throws <ArgumentNullException>(() => source.MoveTo("test_counter", null));
        }
        public void MoveToAddsCollectorToDestination()
        {
            var source      = new CollectorRegistry();
            var factory     = new MetricFactory(source);
            var destination = new CollectorRegistry();

            factory.CreateCounter("test_counter", string.Empty).Inc();

            source.MoveTo("test_counter", destination);
            Assert.True(destination.TryGet("test_counter", out _));
        }
        public void MoveToRemovesCollectorFromSource()
        {
            var source      = new CollectorRegistry();
            var factory     = new MetricFactory(source);
            var destination = new CollectorRegistry();

            factory.CreateCounter("test_counter", string.Empty).Inc();

            source.MoveTo("test_counter", destination);
            Assert.False(source.TryGet("test_counter", out _));
        }