Ejemplo n.º 1
0
        static Program()
        {
            var configuration = new ConfigurationBuilder()
                                .AddJsonFile("appsettings.json")
                                .Build();
            var loggerFactory = new LoggerFactory()
                                .AddSerilog(
                new LoggerConfiguration()
                .ReadFrom.Configuration(configuration)
                .Enrich.FromLogContext()
                .Enrich.WithProperty("Version", Assembly.GetEntryAssembly().GetName().Version.ToString(4))
                .CreateLogger()
                );

            Logger = loggerFactory.CreateLogger <Program>();

            NoiseGenerator = new RecursiveGenerator();
            WordsComparer  = new FieldElementsArraysComparer();

            LinearCodeDistanceAnalyzer     = new LinearCodeDistanceAnalyzer(loggerFactory.CreateLogger <LinearCodeDistanceAnalyzer>());
            MinimalSphereCoveringAnalyzer  = new MinimalSphereCoveringAnalyzer(NoiseGenerator, loggerFactory.CreateLogger <MinimalSphereCoveringAnalyzer>());
            ListsSizesDistributionAnalyzer = new ListsSizesDistributionAnalyzer(NoiseGenerator, loggerFactory.CreateLogger <ListsSizesDistributionAnalyzer>());

            var gaussSolver = new GaussSolver();

            TelemetryCollector = new GsBasedDecoderTelemetryCollectorForGsBasedDecoder();
            FixedDistanceCodesFactory
                = new StandardCodesFactory(
                      new LiftingSchemeBasedBuilder(new GcdBasedBuilder(new RecursiveGcdFinder()), gaussSolver),
                      new RsBasedDecoder(new BerlekampWelchDecoder(gaussSolver), gaussSolver),
                      new GsBasedDecoder(
                          new GsDecoder(new KotterAlgorithmBasedBuilder(new PascalsTriangleBasedCalculator()), new RrFactorizator()),
                          gaussSolver
                          )
            {
                TelemetryCollector = TelemetryCollector
            }
                      );
        }
 public MinimalSphereCoveringAnalyzerTests()
 {
     _mockLogger = new Mock <ILogger <MinimalSphereCoveringAnalyzer> >();
     _analyzer   = new MinimalSphereCoveringAnalyzer(new RecursiveGenerator(), _mockLogger.Object);
 }