Esempio n. 1
0
        private CorrelationAnalysisModel GetModel(IDataset dataset)
        {
            var model = new CorrelationAnalysisModel(dataset)
            {
                ByCategoriesAndOverall = false,
                CorrelationCoefficient = true,
                FirstCatFactor         = "Factor 1",
                FourthCatFactor        = "Factor 4",
                Hypothesis             = "2-sided",
                Matrixplot             = false,
                Method    = "Pearson",
                PValue    = true,
                Responses = new List <string>
                {
                    "Resp 1",
                    "Resp 2"
                },
                Scatterplot     = false,
                SecondCatFactor = "Factor 2",
                Significance    = "0.05",
                TestStatistic   = true,
                ThirdCatFactor  = "Factor 3",
                Transformation  = "None"
            };

            return(model);
        }
Esempio n. 2
0
        public void ScriptFileName_ReturnsCorrectString()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            CorrelationAnalysisModel sut = new CorrelationAnalysisModel();

            //Act
            string result = sut.ScriptFileName;

            //Assert
            Assert.Equal("CorrelationAnalysis", result);
        }
Esempio n. 3
0
        public void GetCommandLineArguments_ReturnsCorrectString()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            CorrelationAnalysisModel sut = GetModel(GetDataset());

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

            //Assert
            Assert.Equal("Respivs_sp_ivs1,Respivs_sp_ivs2 None Factorivs_sp_ivs1 Factorivs_sp_ivs2 Factorivs_sp_ivs3 Factorivs_sp_ivs4 Pearson 2-sided Y Y Y N N 0.05 N", result);
        }
Esempio n. 4
0
        public void MethodsList_ReturnsCorrectList()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            CorrelationAnalysisModel sut = new CorrelationAnalysisModel();

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

            //Assert
            Assert.IsAssignableFrom <IEnumerable <string> >(result);
            Assert.Equal(new List <string>()
            {
                "Pearson", "Kendall", "Spearman"
            }, result);
        }
Esempio n. 5
0
        public void HypothesesList_ReturnsCorrectList()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            CorrelationAnalysisModel sut = new CorrelationAnalysisModel();

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

            //Assert
            Assert.IsAssignableFrom <IEnumerable <string> >(result);
            Assert.Equal(new List <string>()
            {
                "2-sided", "Less than", "Greater than"
            }, result);
        }
Esempio n. 6
0
        public void TransformationsList_ReturnsCorrectList()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            CorrelationAnalysisModel sut = new CorrelationAnalysisModel();

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

            //Assert
            Assert.IsAssignableFrom <IEnumerable <string> >(result);
            Assert.Equal(new List <string>()
            {
                "None", "Log10", "Loge", "Square Root", "ArcSine"
            }, result);
        }
Esempio n. 7
0
        public void ExportData_ReturnsCorrectStringArray()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            Mock <IDataset> mockDataset = new Mock <IDataset>();

            mockDataset.Setup(x => x.DatasetID).Returns(It.IsAny <int>);
            mockDataset.Setup(x => x.DatasetToDataTable()).Returns(GetTestDataTable());

            CorrelationAnalysisModel sut = GetModel(mockDataset.Object);

            //Act
            string[] result = sut.ExportData();

            //Assert
            Assert.Equal("Respivs_sp_ivs1,Respivs_sp_ivs2,Factorivs_sp_ivs1,Factorivs_sp_ivs2,Factorivs_sp_ivs3,Factorivs_sp_ivs4,catfact", result[0]);
            Assert.Equal(33, result.Count()); //as blank responses are removed
            Assert.StartsWith("0.51,0.86,D,2,2,D,D 2 2 D", result[32]);
        }
Esempio n. 8
0
        public void LoadArguments_ReturnsCorrectArguments()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            CorrelationAnalysisModel sut = new CorrelationAnalysisModel(GetDataset());

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

            arguments.Add(new Argument {
                Name = "Responses", Value = "Resp 1,Resp2"
            });
            arguments.Add(new Argument {
                Name = "FirstCatFactor", Value = "Factor 1"
            });
            arguments.Add(new Argument {
                Name = "SecondCatFactor", Value = "Factor 2"
            });
            arguments.Add(new Argument {
                Name = "ThirdCatFactor", Value = "Factor 3"
            });
            arguments.Add(new Argument {
                Name = "FourthCatFactor", Value = "Factor 4"
            });
            arguments.Add(new Argument {
                Name = "Transformation", Value = "Log10"
            });
            arguments.Add(new Argument {
                Name = "ByCategoriesAndOverall", Value = "False"
            });
            arguments.Add(new Argument {
                Name = "CorrelationCoefficient", Value = "True"
            });
            arguments.Add(new Argument {
                Name = "Hypothesis", Value = "2-sided"
            });
            arguments.Add(new Argument {
                Name = "Matrixplot", Value = "False"
            });
            arguments.Add(new Argument {
                Name = "Method", Value = "Pearson"
            });
            arguments.Add(new Argument {
                Name = "PValue", Value = "True"
            });
            arguments.Add(new Argument {
                Name = "TestStatistic", Value = "True"
            });
            arguments.Add(new Argument {
                Name = "Significance", Value = "0.05"
            });
            arguments.Add(new Argument {
                Name = "Scatterplot", Value = "False"
            });

            Assert.Equal(15, arguments.Count);

            //Act
            sut.LoadArguments(arguments);

            //Assert
            Assert.Equal(new List <string> {
                "Resp 1", "Resp2"
            }, sut.Responses);
            Assert.Equal("Factor 1", sut.FirstCatFactor);
            Assert.Equal("Factor 2", sut.SecondCatFactor);
            Assert.Equal("Factor 3", sut.ThirdCatFactor);
            Assert.Equal("Factor 4", sut.FourthCatFactor);
            Assert.Equal("Log10", sut.Transformation);
            Assert.False(sut.ByCategoriesAndOverall);
            Assert.True(sut.CorrelationCoefficient);
            Assert.False(sut.Matrixplot);
            Assert.Equal("2-sided", sut.Hypothesis);
            Assert.Equal("Pearson", sut.Method);
            Assert.True(sut.PValue);
            Assert.True(sut.TestStatistic);
            Assert.Equal("0.05", sut.Significance);
            Assert.False(sut.Scatterplot);
        }
Esempio n. 9
0
        public void GetArguments_ReturnsCorrectArguments()
        {
            //Arrange
            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            CorrelationAnalysisModel sut = GetModel(GetDataset());

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

            //Assert
            var responses = result.Single(x => x.Name == "Responses");

            Assert.Equal("Resp 1,Resp 2", responses.Value);

            var firstCatFactor = result.Single(x => x.Name == "FirstCatFactor");

            Assert.Equal("Factor 1", firstCatFactor.Value);

            var secondCatFactor = result.Single(x => x.Name == "SecondCatFactor");

            Assert.Equal("Factor 2", secondCatFactor.Value);

            var thirdCatFactor = result.Single(x => x.Name == "ThirdCatFactor");

            Assert.Equal("Factor 3", thirdCatFactor.Value);

            var fourthCatFactor = result.Single(x => x.Name == "FourthCatFactor");

            Assert.Equal("Factor 4", fourthCatFactor.Value);

            var transformation = result.Single(x => x.Name == "Transformation");

            Assert.Equal("None", transformation.Value);

            var byCategoriesAndOverall = result.Single(x => x.Name == "ByCategoriesAndOverall");

            Assert.Equal("False", byCategoriesAndOverall.Value);

            var estimate = result.Single(x => x.Name == "CorrelationCoefficient");

            Assert.Equal("True", estimate.Value);

            var hypothesis = result.Single(x => x.Name == "Hypothesis");

            Assert.Equal("2-sided", hypothesis.Value);

            var matrixplot = result.Single(x => x.Name == "Matrixplot");

            Assert.Equal("False", matrixplot.Value);

            var method = result.Single(x => x.Name == "Method");

            Assert.Equal("Pearson", method.Value);

            var pValue = result.Single(x => x.Name == "PValue");

            Assert.Equal("True", pValue.Value);

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

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

            var testStatistic = result.Single(x => x.Name == "TestStatistic");

            Assert.Equal("True", testStatistic.Value);

            var scatterplot = result.Single(x => x.Name == "Scatterplot");

            Assert.Equal("False", scatterplot.Value);
        }
 public async Task <IActionResult> CorrelationAnalysis(CorrelationAnalysisModel model, bool ignoreWarnings)
 {
     return(await RunAnalysis(model, ignoreWarnings));
 }
Esempio n. 11
0
 public CorrelationAnalysisValidator(CorrelationAnalysisModel ca)
     : base(ca.DataTable)
 {
     caVariables = ca;
 }