Esempio n. 1
0
        public AnalyzerOutput(
            [NotNull] TransactionInfo transaction,
            [NotNull] DescriptiveItem <AnalysisType> analysisType,
            [NotNull] Exception exception)
        {
            #region Argument Check

            if (transaction == null)
            {
                throw new ArgumentNullException(nameof(transaction));
            }

            if (analysisType == null)
            {
                throw new ArgumentNullException(nameof(analysisType));
            }

            if (exception == null)
            {
                throw new ArgumentNullException(nameof(exception));
            }

            #endregion

            Transaction  = transaction;
            AnalysisType = analysisType;
            Exception    = exception;
        }
        private static AnalyzerOutput AnalyzeInternal(
            TransactionInfo transaction,
            DescriptiveItem <AnalysisType> analysisType,
            ScoreUtilityType?scoreUtilityType,
            PageSpeedStrategy?pageSpeedStrategy)
        {
            using (var tempFileCollection = new TempFileCollection(Path.GetTempPath(), false))
            {
                var fileName = Path.ChangeExtension(Path.GetRandomFileName(), ".har");

                var inputFilePath = Path.Combine(Path.GetTempPath(), fileName);
                tempFileCollection.AddFile(inputFilePath, false);

                var outputFilePath = inputFilePath + ".json";
                tempFileCollection.AddFile(outputFilePath, false);

                using (var stream = File.Create(inputFilePath))
                {
                    transaction.HarRoot.Serialize(stream);
                }

                var analysisResult = AnalyzeHar(
                    analysisType,
                    scoreUtilityType,
                    pageSpeedStrategy,
                    inputFilePath,
                    outputFilePath);

                return(new AnalyzerOutput(transaction, analysisType, analysisResult));
            }
        }
Esempio n. 3
0
        public AnalyzerOutput(
            [NotNull] TransactionInfo transaction,
            [NotNull] DescriptiveItem <AnalysisType> analysisType,
            [NotNull] SpecificAnalysisResult specificResult)
        {
            #region Argument Check

            if (transaction == null)
            {
                throw new ArgumentNullException(nameof(transaction));
            }

            if (analysisType == null)
            {
                throw new ArgumentNullException(nameof(analysisType));
            }

            if (specificResult == null)
            {
                throw new ArgumentNullException(nameof(specificResult));
            }

            #endregion

            Transaction    = transaction;
            AnalysisType   = analysisType;
            SpecificResult = specificResult;
        }
        public void ConstructorTest(MockEnum val, string expected)
        {
            var item = new DescriptiveItem <MockEnum>(val);

            Assert.Equal(expected, item.Description);
            Assert.Equal(val, item.Value);
        }
        private static AnalyzerOutput AnalyzeInternal(
            TransactionInfo transaction,
            DescriptiveItem<AnalysisType> analysisType,
            ScoreUtilityType? scoreUtilityType,
            PageSpeedStrategy? pageSpeedStrategy)
        {
            using (var tempFileCollection = new TempFileCollection(Path.GetTempPath(), false))
            {
                var fileName = Path.ChangeExtension(Path.GetRandomFileName(), ".har");

                var inputFilePath = Path.Combine(Path.GetTempPath(), fileName);
                tempFileCollection.AddFile(inputFilePath, false);

                var outputFilePath = inputFilePath + ".json";
                tempFileCollection.AddFile(outputFilePath, false);

                using (var stream = File.Create(inputFilePath))
                {
                    transaction.HarRoot.Serialize(stream);
                }

                var analysisResult = AnalyzeHar(
                    analysisType,
                    scoreUtilityType,
                    pageSpeedStrategy,
                    inputFilePath,
                    outputFilePath);

                return new AnalyzerOutput(transaction, analysisType, analysisResult);
            }
        }
        private void OnSelectedPageSpeedStrategyChanged(DependencyPropertyChangedEventArgs args)
        {
            var newValue = (PageSpeedStrategy?)args.NewValue;

            var item = newValue.HasValue ? DescriptiveItem.Create(newValue.Value) : null;

            PageSpeedStrategies.MoveCurrentTo(item);
        }
        private void OnSelectedScoreUtilityTypeChanged(DependencyPropertyChangedEventArgs args)
        {
            var newValue = (ScoreUtilityType?)args.NewValue;

            var item = newValue.HasValue ? DescriptiveItem.Create(newValue.Value) : null;

            ScoreUtilityTypes.MoveCurrentTo(item);
        }
 private static CollectionView CreateCollectionViewForEnumeration <TEnum>() where TEnum : struct
 {
     return(EnumFactotum
            .GetAllValues <TEnum>()
            .Select(value => DescriptiveItem.Create(value, ((Enum)(object)value).GetTranslation()))
            .ToArray()
            .ToCollectionView());
 }
        private static SpecificAnalysisResult AnalyzeHar(
            [NotNull] DescriptiveItem <AnalysisType> analysisType,
            ScoreUtilityType?scoreUtilityType,
            PageSpeedStrategy?pageSpeedStrategy,
            string inputFilePath,
            string outputFilePath)
        {
            switch (analysisType.Value)
            {
            case AnalysisType.ScoreAndRuleCompliance:
                return(AnalyzeScore(scoreUtilityType, pageSpeedStrategy, inputFilePath, outputFilePath));

            default:
                throw analysisType.Value.CreateEnumValueNotImplementedException();
            }
        }