示例#1
0
        public async Task PSS30()
        {
            string testName = "PSS30";

            //Arrange
            HttpClient client = _factory.CreateClient();

            ComparisonOfMeansPowerAnalysisUserBasedInputsModel model = new ComparisonOfMeansPowerAnalysisUserBasedInputsModel();

            model.GroupMean         = 10;
            model.DeviationType     = DeviationType.Variance;
            model.Variance          = 4;
            model.Significance      = "0.05";
            model.AbsoluteChange    = "10 20 30 40";
            model.ChangeType        = ChangeTypeOption.Absolute;
            model.PlottingRangeType = PlottingRangeTypeOption.Power;

            //Act
            HttpResponseMessage response = await client.PostAsync("Analyses/ComparisonOfMeansPowerAnalysisUserBasedInputs", new FormUrlEncodedContent(model.ToKeyValue()));

            IEnumerable <string> errors = await Helpers.ExtractErrors(response);

            //Assert
            Assert.Contains("Absolute changes has non-numeric values or the values are not comma separated.", errors);
            Helpers.SaveOutput("ComparisonOfMeansPowerAnalysisUserBasedInputs", testName, errors);
        }
示例#2
0
        public async Task PSS28()
        {
            string testName = "PSS28";

            //Arrange
            HttpClient client = _factory.CreateClient();

            ComparisonOfMeansPowerAnalysisUserBasedInputsModel model = new ComparisonOfMeansPowerAnalysisUserBasedInputsModel();

            model.GroupMean         = 10;
            model.DeviationType     = DeviationType.Variance;
            model.Variance          = 4;
            model.Significance      = "0.05";
            model.AbsoluteChange    = "0.5,1,2,4";
            model.ChangeType        = ChangeTypeOption.Absolute;
            model.PlottingRangeType = PlottingRangeTypeOption.Power;
            model.PowerFrom         = 50;
            model.PowerTo           = 80;

            //Act
            StatsOutput statsOutput = await Helpers.SubmitAnalysis(client, "ComparisonOfMeansPowerAnalysisUserBasedInputs", new FormUrlEncodedContent(model.ToKeyValue()));

            Helpers.SaveTestOutput("ComparisonOfMeansPowerAnalysisUserBasedInputs", model, testName, statsOutput);

            //Assert
            string expectedHtml = File.ReadAllText(Path.Combine("ExpectedResults", "ComparisonOfMeansPowerAnalysisUserBasedInputs", testName + ".html"));

            Assert.Equal(Helpers.FixForUnixOSs(expectedHtml), Helpers.FixForUnixOSs(statsOutput.HtmlResults));
        }
示例#3
0
        public async Task PSS5()
        {
            string testName = "PSS5";

            //Arrange
            HttpClient client = _factory.CreateClient();

            ComparisonOfMeansPowerAnalysisUserBasedInputsModel model = new ComparisonOfMeansPowerAnalysisUserBasedInputsModel();

            model.GroupMean         = 10;
            model.DeviationType     = DeviationType.Variance;
            model.Variance          = 4;
            model.Significance      = "0.05";
            model.PercentChange     = "0.5,1,2,,4";
            model.ChangeType        = ChangeTypeOption.Percent;
            model.PlottingRangeType = PlottingRangeTypeOption.Power;

            //Act
            HttpResponseMessage response = await client.PostAsync("Analyses/ComparisonOfMeansPowerAnalysisUserBasedInputs", new FormUrlEncodedContent(model.ToKeyValue()));

            IEnumerable <string> errors = await Helpers.ExtractErrors(response);

            //Assert
            Assert.Contains("The list of percent changes contains missing values, please remove any blank entries between the comma separated values.", errors);
            Helpers.SaveOutput("ComparisonOfMeansPowerAnalysisUserBasedInputs", testName, errors);
        }
示例#4
0
        public async Task PSS13()
        {
            string testName = "PSS13";

            //Arrange
            HttpClient client = _factory.CreateClient();

            ComparisonOfMeansPowerAnalysisUserBasedInputsModel model = new ComparisonOfMeansPowerAnalysisUserBasedInputsModel();

            model.GroupMean         = 10;
            model.DeviationType     = DeviationType.StandardDeviation;
            model.StandardDeviation = 2;
            model.Significance      = "0.1";
            model.PercentChange     = "10, 20, 30, 40 ";
            model.ChangeType        = ChangeTypeOption.Percent;
            model.PlottingRangeType = PlottingRangeTypeOption.SampleSize;

            //Act
            StatsOutput statsOutput = await Helpers.SubmitAnalysis(client, "ComparisonOfMeansPowerAnalysisUserBasedInputs", new FormUrlEncodedContent(model.ToKeyValue()));

            Helpers.SaveTestOutput("ComparisonOfMeansPowerAnalysisUserBasedInputs", model, testName, statsOutput);

            //Assert
            string expectedHtml = File.ReadAllText(Path.Combine("ExpectedResults", "ComparisonOfMeansPowerAnalysisUserBasedInputs", testName + ".html"));

            Assert.Equal(Helpers.FixForUnixOSs(expectedHtml), Helpers.FixForUnixOSs(statsOutput.HtmlResults));
        }
示例#5
0
        public async Task PSS11()
        {
            string testName = "PSS11";

            //Arrange
            HttpClient client = _factory.CreateClient();

            ComparisonOfMeansPowerAnalysisUserBasedInputsModel model = new ComparisonOfMeansPowerAnalysisUserBasedInputsModel();

            model.GroupMean         = 10;
            model.DeviationType     = DeviationType.StandardDeviation;
            model.StandardDeviation = -2;
            model.Significance      = "0.05";
            model.AbsoluteChange    = "0.5,1,2,4";
            model.ChangeType        = ChangeTypeOption.Absolute;
            model.PlottingRangeType = PlottingRangeTypeOption.Power;

            //Act
            HttpResponseMessage response = await client.PostAsync("Analyses/ComparisonOfMeansPowerAnalysisUserBasedInputs", new FormUrlEncodedContent(model.ToKeyValue()));

            IEnumerable <string> errors = await Helpers.ExtractErrors(response);

            //Assert
            Assert.Contains("Standard deviation must be > 0.", errors);
            Helpers.SaveOutput("ComparisonOfMeansPowerAnalysisUserBasedInputs", testName, errors);
        }
示例#6
0
        public void GetCommandLineArguments_ReturnsCorrectString()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            ComparisonOfMeansPowerAnalysisUserBasedInputsModel sut = GetModel();

            //Act
            string result = sut.GetCommandLineArguments();

            //Assert
            Assert.Equal("UserValues 2 Variance 1 0.05 Absolute 5 SampleSize 6 15 \"Test title\"", result);
        }
示例#7
0
        public void ScriptFileName_ReturnsCorrectString()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            ComparisonOfMeansPowerAnalysisUserBasedInputsModel sut = new ComparisonOfMeansPowerAnalysisUserBasedInputsModel();

            //Act
            string result = sut.ScriptFileName;

            //Assert
            Assert.Equal("ComparisonOfMeansPowerAnalysisUserBasedInputs", result);
        }
示例#8
0
        public void SignificancesList_ReturnsCorrectList()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            ComparisonOfMeansPowerAnalysisUserBasedInputsModel sut = new ComparisonOfMeansPowerAnalysisUserBasedInputsModel();

            //Act
            IEnumerable <string> result = sut.SignificancesList;

            //Assert
            Assert.IsAssignableFrom <IEnumerable <string> >(result);
            Assert.Equal(new List <string>()
            {
                "0.1", "0.05", "0.025", "0.01", "0.001"
            }, result);
        }
示例#9
0
 public ComparisonOfMeansPowerAnalysisUserBasedInputsValidator(ComparisonOfMeansPowerAnalysisUserBasedInputsModel mc)
 {
     mcVariables = mc;
 }
示例#10
0
        public void GetArguments_ReturnsCorrectArguments()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            ComparisonOfMeansPowerAnalysisUserBasedInputsModel sut = GetModel();

            //Act
            List <Argument> result = sut.GetArguments().ToList();

            //Assert
            var absoluteChange = result.Single(x => x.Name == "AbsoluteChange");

            Assert.Equal("5", absoluteChange.Value);

            var deviationType = result.Single(x => x.Name == "DeviationType");

            Assert.Equal("Variance", deviationType.Value);

            var changeType = result.Single(x => x.Name == "ChangeType");

            Assert.Equal("Absolute", changeType.Value);

            var graphTitle = result.Single(x => x.Name == "GraphTitle");

            Assert.Equal("Test title", graphTitle.Value);

            var groupMean = result.Single(x => x.Name == "GroupMean");

            Assert.Equal("2", groupMean.Value);

            var percentChange = result.Single(x => x.Name == "PercentChange");

            Assert.Null(percentChange.Value);

            var plottingRangeType = result.Single(x => x.Name == "PlottingRangeType");

            Assert.Equal("SampleSize", plottingRangeType.Value);

            var powerFrom = result.Single(x => x.Name == "PowerFrom");

            Assert.Null(powerFrom.Value);

            var powerTo = result.Single(x => x.Name == "PowerTo");

            Assert.Null(powerTo.Value);

            var sampleSizeFrom = result.Single(x => x.Name == "SampleSizeFrom");

            Assert.Equal("6", sampleSizeFrom.Value);

            var sampleSizeTo = result.Single(x => x.Name == "SampleSizeTo");

            Assert.Equal("15", sampleSizeTo.Value);

            var significance = result.Single(x => x.Name == "Significance");

            Assert.Equal("0.05", significance.Value);

            var standardDeviation = result.Single(x => x.Name == "StandardDeviation");

            Assert.Null(standardDeviation.Value);
        }
示例#11
0
        public void LoadArguments_ReturnsCorrectArguments()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            ComparisonOfMeansPowerAnalysisUserBasedInputsModel sut = new ComparisonOfMeansPowerAnalysisUserBasedInputsModel();

            List <Argument> arguments = new List <Argument>();

            arguments.Add(new Argument {
                Name = "AbsoluteChange", Value = "5"
            });
            arguments.Add(new Argument {
                Name = "DeviationType", Value = "Variance"
            });
            arguments.Add(new Argument {
                Name = "ChangeType", Value = "Absolute"
            });
            arguments.Add(new Argument {
                Name = "GraphTitle", Value = "Test title"
            });
            arguments.Add(new Argument {
                Name = "GroupMean", Value = "2"
            });
            arguments.Add(new Argument {
                Name = "PercentChange"
            });
            arguments.Add(new Argument {
                Name = "PlottingRangeType", Value = "SampleSize"
            });
            arguments.Add(new Argument {
                Name = "PowerFrom"
            });
            arguments.Add(new Argument {
                Name = "PowerTo"
            });
            arguments.Add(new Argument {
                Name = "SampleSizeFrom", Value = "6"
            });
            arguments.Add(new Argument {
                Name = "SampleSizeTo", Value = "15"
            });
            arguments.Add(new Argument {
                Name = "Significance", Value = "Log10"
            });
            arguments.Add(new Argument {
                Name = "StandardDeviation"
            });
            arguments.Add(new Argument {
                Name = "Variance", Value = "1"
            });

            Assert.Equal(14, arguments.Count);

            //Act
            sut.LoadArguments(arguments);

            //Assert
            Assert.Equal("5", sut.AbsoluteChange);
            Assert.Equal(DeviationType.Variance, sut.DeviationType);
            Assert.Equal(ChangeTypeOption.Absolute, sut.ChangeType);
            Assert.Equal("Test title", sut.GraphTitle);
            Assert.Equal(2, sut.GroupMean);
            Assert.Null(sut.PercentChange);
            Assert.Equal(PlottingRangeTypeOption.SampleSize, sut.PlottingRangeType);
            Assert.Null(sut.PowerFrom);
            Assert.Null(sut.PowerTo);
            Assert.Equal(6, sut.SampleSizeFrom);
            Assert.Equal(15, sut.SampleSizeTo);
            Assert.Equal("Log10", sut.Significance);
            Assert.Null(sut.StandardDeviation);
        }
 public async Task <IActionResult> ComparisonOfMeansPowerAnalysisUserBasedInputs(ComparisonOfMeansPowerAnalysisUserBasedInputsModel model, bool ignoreWarnings)
 {
     return(await RunAnalysis(model, ignoreWarnings));
 }