public async Task PSS3() { string testName = "PSS3"; //Arrange HttpClient client = _factory.CreateClient(); ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel model = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); model.DatasetID = _factory.SheetNames.Single(x => x.Value == "Power - Means Comp").Key; model.Response = "Resp1"; model.Treatment = "Treat3"; model.ControlGroup = "A"; model.AbsoluteChange = "0.25,0.5, 0.75, 1"; model.ChangeType = ChangeTypeOption.Absolute; model.PlottingRangeType = PlottingRangeTypeOption.Power; //Act HttpResponseMessage response = await client.PostAsync("Analyses/ComparisonOfMeansPowerAnalysisDatasetBasedInputs", new FormUrlEncodedContent(model.ToKeyValue())); IEnumerable <string> errors = await Helpers.ExtractErrors(response); //Assert Assert.Contains("There is no replication in one or more of the levels of the Treatment (Treat3). Please select another factor.", errors); Helpers.SaveOutput("ComparisonOfMeansPowerAnalysisDatasetBasedInputs", testName, errors); }
public async Task PSS32() { string testName = "PSS32"; //Arrange HttpClient client = _factory.CreateClient(); ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel model = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); model.DatasetID = _factory.SheetNames.Single(x => x.Value == "Power - Means Comp").Key; model.Response = "Resp1"; model.Treatment = "Trea t1"; model.ControlGroup = "x"; model.Significance = "0.01"; model.PercentChange = "0.25 0.5 0.75 1"; model.ChangeType = ChangeTypeOption.Percent; model.PlottingRangeType = PlottingRangeTypeOption.Power; model.PowerFrom = 50; model.PowerTo = 80; //Act HttpResponseMessage response = await client.PostAsync("Analyses/ComparisonOfMeansPowerAnalysisDatasetBasedInputs", new FormUrlEncodedContent(model.ToKeyValue())); IEnumerable <string> errors = await Helpers.ExtractErrors(response); //Assert Assert.Contains("Percent changes has non-numeric values or the values are not comma separated.", errors); Helpers.SaveOutput("ComparisonOfMeansPowerAnalysisDatasetBasedInputs", testName, errors); }
public async Task PSS15() { string testName = "PSS15"; //Arrange HttpClient client = _factory.CreateClient(); ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel model = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); model.DatasetID = _factory.SheetNames.Single(x => x.Value == "Power - Means Comp").Key; model.Response = "Resp1"; model.Treatment = "Trea t1"; model.ControlGroup = "x"; model.PercentChange = "40, 60, 80,100"; model.ChangeType = ChangeTypeOption.Percent; model.PlottingRangeType = PlottingRangeTypeOption.SampleSize; //Act StatsOutput statsOutput = await Helpers.SubmitAnalysis(client, "ComparisonOfMeansPowerAnalysisDatasetBasedInputs", new FormUrlEncodedContent(model.ToKeyValue())); Helpers.SaveTestOutput("ComparisonOfMeansPowerAnalysisDatasetBasedInputs", model, testName, statsOutput); //Assert string expectedHtml = File.ReadAllText(Path.Combine("ExpectedResults", "ComparisonOfMeansPowerAnalysisDatasetBasedInputs", testName + ".html")); Assert.Equal(Helpers.FixForUnixOSs(expectedHtml), Helpers.FixForUnixOSs(statsOutput.HtmlResults)); }
public async Task PSS30() { string testName = "PSS30"; //Arrange HttpClient client = _factory.CreateClient(); ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel model = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); model.DatasetID = _factory.SheetNames.Single(x => x.Value == "Power - Means Comp").Key; model.Response = "Resp1"; model.Treatment = null; model.ControlGroup = null; model.Significance = "0.01"; model.AbsoluteChange = "0.25, 0.5, 0.75, 1"; model.ChangeType = ChangeTypeOption.Absolute; model.PlottingRangeType = PlottingRangeTypeOption.Power; model.PowerFrom = 50; model.PowerTo = 80; //Act StatsOutput statsOutput = await Helpers.SubmitAnalysis(client, "ComparisonOfMeansPowerAnalysisDatasetBasedInputs", new FormUrlEncodedContent(model.ToKeyValue())); Helpers.SaveTestOutput("ComparisonOfMeansPowerAnalysisDatasetBasedInputs", model, testName, statsOutput); //Assert string expectedHtml = File.ReadAllText(Path.Combine("ExpectedResults", "ComparisonOfMeansPowerAnalysisDatasetBasedInputs", testName + ".html")); Assert.Equal(Helpers.FixForUnixOSs(expectedHtml), Helpers.FixForUnixOSs(statsOutput.HtmlResults)); }
public async Task PSS13() { string testName = "PSS13"; //Arrange HttpClient client = _factory.CreateClient(); ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel model = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); model.DatasetID = _factory.SheetNames.Single(x => x.Value == "Power - Means Comp").Key; model.Response = "Resp1"; model.Treatment = "Trea t1"; model.ControlGroup = "x"; model.AbsoluteChange = "0.25,0.5, 0.75, 1"; model.ChangeType = ChangeTypeOption.Absolute; model.PlottingRangeType = PlottingRangeTypeOption.SampleSize; model.SampleSizeFrom = 80; model.SampleSizeTo = 50; //Act HttpResponseMessage response = await client.PostAsync("Analyses/ComparisonOfMeansPowerAnalysisDatasetBasedInputs", new FormUrlEncodedContent(model.ToKeyValue())); IEnumerable <string> errors = await Helpers.ExtractErrors(response); //Assert Assert.Contains("Sample Size To value must be greater than the From value.", errors); Helpers.SaveOutput("ComparisonOfMeansPowerAnalysisDatasetBasedInputs", testName, errors); }
public async Task PSS14() { string testName = "PSS14"; //Arrange HttpClient client = _factory.CreateClient(); ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel model = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); model.DatasetID = _factory.SheetNames.Single(x => x.Value == "Power - Means Comp").Key; model.Response = "Resp1"; model.Treatment = null; model.ControlGroup = null; model.PercentChange = "40 60 80 100"; model.ChangeType = ChangeTypeOption.Percent; model.PlottingRangeType = PlottingRangeTypeOption.SampleSize; //Act HttpResponseMessage response = await client.PostAsync("Analyses/ComparisonOfMeansPowerAnalysisDatasetBasedInputs", new FormUrlEncodedContent(model.ToKeyValue())); IEnumerable <string> errors = await Helpers.ExtractErrors(response); //Assert Assert.Contains("You have selected % change as expected changes from control, but as you have not defined the control group it is not possible to calculate the % change.", errors); Helpers.SaveOutput("ComparisonOfMeansPowerAnalysisDatasetBasedInputs", testName, errors); }
public async Task PSS5() { string testName = "PSS5"; //Arrange HttpClient client = _factory.CreateClient(); ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel model = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); model.DatasetID = _factory.SheetNames.Single(x => x.Value == "Power - Means Comp").Key; model.Response = "Resp3"; model.Treatment = "Trea t1"; model.ControlGroup = "x"; model.AbsoluteChange = "0.25,0.5, 0.75, 1"; model.ChangeType = ChangeTypeOption.Absolute; model.PlottingRangeType = PlottingRangeTypeOption.Power; //Act HttpResponseMessage response = await client.PostAsync("Analyses/ComparisonOfMeansPowerAnalysisDatasetBasedInputs", new FormUrlEncodedContent(model.ToKeyValue())); IEnumerable <string> errors = await Helpers.ExtractErrors(response); //Assert Assert.Contains("The Response (Resp3) contains non-numerical data that cannot be processed. Please check input data and make sure the data was entered correctly.", errors); Helpers.SaveOutput("ComparisonOfMeansPowerAnalysisDatasetBasedInputs", testName, errors); }
public async Task PSS1() { string testName = "PSS1"; //Arrange HttpClient client = _factory.CreateClient(); ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel model = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); model.DatasetID = _factory.SheetNames.Single(x => x.Value == "Power - Means Comp").Key; model.Response = "Resp 1"; model.Treatment = "Resp 1"; model.ControlGroup = "0.998758912"; model.PercentChange = "10"; model.ChangeType = ChangeTypeOption.Percent; model.PlottingRangeType = PlottingRangeTypeOption.SampleSize; //Act HttpResponseMessage response = await client.PostAsync("Analyses/ComparisonOfMeansPowerAnalysisDatasetBasedInputs", new FormUrlEncodedContent(model.ToKeyValue())); IEnumerable <string> errors = await Helpers.ExtractErrors(response); //Assert Assert.Contains("Response (Resp 1) has been selected in more than one input category, please change your input options.", errors); Helpers.SaveOutput("ComparisonOfMeansPowerAnalysisDatasetBasedInputs", testName, errors); }
public void GetCommandLineArguments_ReturnsCorrectString() { //Arrange System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel sut = GetModel(); //Act string result = sut.GetCommandLineArguments(); //Assert Assert.Equal("DatasetValues Resp1 Treat2 x 0.05 Percent 5 PowerAxis 70 90 NULL", result); }
public void ScriptFileName_ReturnsCorrectString() { //Arrange System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel sut = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); //Act string result = sut.ScriptFileName; //Assert Assert.Equal("ComparisonOfMeansPowerAnalysisDatasetBasedInputs", result); }
public void SignificancesList_ReturnsCorrectList() { //Arrange System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel sut = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); //Act IEnumerable <string> result = sut.SignificancesList; //Assert Assert.IsAssignableFrom <IEnumerable <string> >(result); Assert.Equal(new List <string>() { "0.1", "0.05", "0.01", "0.001" }, result); }
private ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel GetModel() { var model = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel { AbsoluteChange = null, ChangeType = ChangeTypeOption.Percent, ControlGroup = "x", GraphTitle = null, PercentChange = "5", PlottingRangeType = PlottingRangeTypeOption.Power, PowerFrom = 70, PowerTo = 90, Response = "Resp1", SampleSizeFrom = null, SampleSizeTo = null, Significance = "0.05", Treatment = "Treat2" }; return(model); }
public async Task <IActionResult> ComparisonOfMeansPowerAnalysisDatasetBasedInputs(ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel model, bool ignoreWarnings) { return(await RunAnalysis(model, ignoreWarnings)); }
public void GetArguments_ReturnsCorrectArguments() { //Arrange System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel sut = GetModel(); //Act List <Argument> result = sut.GetArguments().ToList(); //Assert var absoluteChange = result.Single(x => x.Name == "AbsoluteChange"); Assert.Null(absoluteChange.Value); var changeType = result.Single(x => x.Name == "ChangeType"); Assert.Equal("Percent", changeType.Value); var controlGroup = result.Single(x => x.Name == "ControlGroup"); Assert.Equal("x", controlGroup.Value); var graphTitle = result.Single(x => x.Name == "GraphTitle"); Assert.Null(graphTitle.Value); var percentChange = result.Single(x => x.Name == "PercentChange"); Assert.Equal("5", percentChange.Value); var plottingRangeType = result.Single(x => x.Name == "PlottingRangeType"); Assert.Equal("Power", plottingRangeType.Value); var powerFrom = result.Single(x => x.Name == "PowerFrom"); Assert.Equal("70", powerFrom.Value); var powerTo = result.Single(x => x.Name == "PowerTo"); Assert.Equal("90", powerTo.Value); var response = result.Single(x => x.Name == "Response"); Assert.Equal("Resp1", response.Value); var sampleSizeFrom = result.Single(x => x.Name == "SampleSizeFrom"); Assert.Null(sampleSizeFrom.Value); var sampleSizeTo = result.Single(x => x.Name == "SampleSizeTo"); Assert.Null(sampleSizeTo.Value); var significance = result.Single(x => x.Name == "Significance"); Assert.Equal("0.05", significance.Value); var treatment = result.Single(x => x.Name == "Treatment"); Assert.Equal("Treat2", treatment.Value); }
public void LoadArguments_ReturnsCorrectArguments() { //Arrange System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel sut = new ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel(); List <Argument> arguments = new List <Argument>(); arguments.Add(new Argument { Name = "AbsoluteChange" }); arguments.Add(new Argument { Name = "ChangeType", Value = "Percent" }); arguments.Add(new Argument { Name = "ControlGroup", Value = "x" }); arguments.Add(new Argument { Name = "GraphTitle" }); arguments.Add(new Argument { Name = "PercentChange", Value = "5" }); arguments.Add(new Argument { Name = "PlottingRangeType", Value = "Power" }); arguments.Add(new Argument { Name = "PowerFrom", Value = "70" }); arguments.Add(new Argument { Name = "PowerTo", Value = "90" }); arguments.Add(new Argument { Name = "Response", Value = "Resp1" }); arguments.Add(new Argument { Name = "SampleSizeFrom" }); arguments.Add(new Argument { Name = "SampleSizeTo" }); arguments.Add(new Argument { Name = "Significance", Value = "0.05" }); arguments.Add(new Argument { Name = "Treatment", Value = "Treat2" }); Assert.Equal(13, arguments.Count); //Act sut.LoadArguments(arguments); //Assert Assert.Null(sut.AbsoluteChange); Assert.Equal(ChangeTypeOption.Percent, sut.ChangeType); Assert.Equal("x", sut.ControlGroup); Assert.Null(sut.GraphTitle); Assert.Equal("5", sut.PercentChange); Assert.Equal(PlottingRangeTypeOption.Power, sut.PlottingRangeType); Assert.Equal(70, sut.PowerFrom); Assert.Equal(90, sut.PowerTo); Assert.Equal("Resp1", sut.Response); Assert.Null(sut.SampleSizeFrom); Assert.Null(sut.SampleSizeTo); Assert.Equal("0.05", sut.Significance); Assert.Equal("Treat2", sut.Treatment); }
public ComparisonOfMeansPowerAnalysisDatasetBasedInputsValidator(ComparisonOfMeansPowerAnalysisDatasetBasedInputsModel mc) : base(mc.DataTable) { mcVariables = mc; }