示例#1
0
        public void Map_WhenCalledWithInvalidCharacters_ReturnsExpectedValues()
        {
            var map = new ArticleOrderMetricMap(
                quantityName: $"{nameof(ArticleOrder.Quantity)}$",
                priceName: $"{nameof(ArticleOrder.Price)}$"
                );
            var sut = new MetricMapService();

            var order = new ArticleOrder
            {
                ArticleId    = "1$",
                AssortmentId = "100$",
                Timestamp    = DateTime.UtcNow.Date,
                Quantity     = 2,
                Price        = 200
            };

            var actual = sut.Map(map, new[] { order }).ToArray();

            foreach (var metric in actual)
            {
                AssertMetric(order, metric, expectedValue: (_ => _.Replace("$", string.Empty)));
            }

            AssertMetric(actual[0], nameof(ArticleOrder.Quantity), 2.0);
            AssertMetric(actual[1], nameof(ArticleOrder.Price), 200.0);
        }
示例#2
0
        private void AssertMetric(ArticleOrder order, MetricData metric, Func <string, string> expectedValue = null)
        {
            expectedValue = expectedValue ?? (_ => _);

            Assert.That(metric.Timestamp, Is.GreaterThan(0));
            Assert.That(metric.Tags[nameof(ArticleOrder.ArticleId)], Is.EqualTo(expectedValue(order.ArticleId)));
            Assert.That(metric.Tags[nameof(ArticleOrder.AssortmentId)], Is.EqualTo(expectedValue(order.AssortmentId)));
        }
示例#3
0
        public void Map_WhenCalled_ReturnsExpectedValues()
        {
            var map = new ArticleOrderMetricMap();
            var sut = new MetricMapService();

            var order = new ArticleOrder
            {
                ArticleId    = "1",
                AssortmentId = "100",
                Timestamp    = DateTime.UtcNow.Date,
                Quantity     = 2,
                Price        = 200
            };

            var actual = sut.Map(map, new[] { order }).ToArray();

            foreach (var metric in actual)
            {
                AssertMetric(order, metric);
            }

            AssertMetric(actual[0], nameof(ArticleOrder.Quantity), 2.0);
            AssertMetric(actual[1], nameof(ArticleOrder.Price), 200.0);
        }