Exemplo n.º 1
0
        protected AggregationServiceTestBase()
        {
            _metadata = new EntityMetadata(1, 3);

            _property0 = _metadata.Properties[0];
            _property1 = _metadata.Properties[1];
            _property2 = _metadata.Properties[2];

            _aggregatorConfig0 = new WgtAvgPropertyAggregatorConfig(0, _property0, _property1);
            _aggregatorConfig1 = new WgtAvgPropertyAggregatorConfig(1, _property1, _property2);
            _aggregatorConfig2 = new WgtAvgPropertyAggregatorConfig(2, _property0, _property2);

            _entity0 = CreateEntity(0, 10, 20, 30);
            _entity1 = CreateEntity(1, 11, 21, 31);
            _entity2 = CreateEntity(2, 12, 22, 32);

            _set = new EntitySet {
                _entity0, _entity1
            };

            var config  = new AggregationConfig(_metadata, new[] { _aggregatorConfig0, _aggregatorConfig1, _aggregatorConfig2 });
            var service = new TAggregationService();

            _root = service.Aggregate(_set, config, _metadata);
            _root.Start();

            _set.Add(_entity2);

            _rootResult = _root.Result;
        }
Exemplo n.º 2
0
        private static void Dump(IAggregationResult result, EntityMetadata metadata, AggregationConfig config, string filepath)
        {
            using (var writer = new StreamWriter(File.Create(filepath))) {
                writer.Write(String.Join("", Enumerable.Range(0, metadata.KeyCount).Select(i => "Key" + i + ",")));
                writer.WriteLine(String.Join(",", config.Aggregators.Select(a => "\"" + a.Name + "\"")));

                var keys = new int[metadata.KeyCount];
                Dump(writer, result, config, keys, 0);
            }
        }
Exemplo n.º 3
0
        private static void Dump(IAggregationResult result, EntityMetadata metadata, AggregationConfig config, string filepath)
        {
            using (var writer = new StreamWriter(File.Create(filepath))) {
                writer.Write(String.Join("", Enumerable.Range(0, metadata.KeyCount).Select(i => "Key" + i + ",")));
                writer.WriteLine(String.Join(",", config.Aggregators.Select(a => "\"" + a.Name + "\"")));

                var keys = new int[metadata.KeyCount];
                Dump(writer, result, config, keys, 0);
            }
        }
Exemplo n.º 4
0
        private static void Dump(TextWriter writer, IAggregationResult result, AggregationConfig config, int[] keys, int level)
        {
            for (var i = 0; i < keys.Length; i++) {
                if (i < level) {
                    writer.Write(keys[i] + ",");
                }
                else {
                    writer.Write("-,");
                }
            }

            writer.WriteLine(String.Join(",", config.Aggregators.Select(a => result.Get(a).ToString(""))));

            foreach (var groupKey in result.Keys.OrderBy(k => k)) {
                keys[level] = groupKey;
                Dump(writer, result.Get(groupKey), config, keys, level + 1);
            }
        }
Exemplo n.º 5
0
        private static void Dump(TextWriter writer, IAggregationResult result, AggregationConfig config, int[] keys, int level)
        {
            for (var i = 0; i < keys.Length; i++)
            {
                if (i < level)
                {
                    writer.Write(keys[i] + ",");
                }
                else
                {
                    writer.Write("-,");
                }
            }

            writer.WriteLine(String.Join(",", config.Aggregators.Select(a => result.Get(a).ToString(""))));

            foreach (var groupKey in result.Keys.OrderBy(k => k))
            {
                keys[level] = groupKey;
                Dump(writer, result.Get(groupKey), config, keys, level + 1);
            }
        }
Exemplo n.º 6
0
 private void Verify(IAggregationResult result, params Entity[] entities)
 {
     Verify(entities, result, _aggregatorConfig0);
     Verify(entities, result, _aggregatorConfig1);
     Verify(entities, result, _aggregatorConfig2);
 }
Exemplo n.º 7
0
 private void Verify(Entity[] entities, IAggregationResult result, WgtAvgPropertyAggregatorConfig config)
 {
     Assert.Equal(CalculateWgtAvg(entities, config.Properties[0], config.Properties[1]), result.Get(config));
 }