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 LinearCodeDistanceAnalyzerTests() { _mockLogger = new Mock <ILogger <LinearCodeDistanceAnalyzer> >(); _analyzer = new LinearCodeDistanceAnalyzer(_mockLogger.Object); }