Example #1
0
        public void CreateFunctionDependencyFromFile1()
        {
            var funcNamesList = new List <string> {
                "f11", "f12", "f21", "f22", "f23", "f31", "f32"
            };
            var modulIDsList = new List <HashSet <int> > {
                new HashSet <int> {
                    11
                },
                new HashSet <int> {
                    12
                },
                new HashSet <int> {
                    11, 12, 21
                },
                new HashSet <int> {
                    11, 22
                },
                new HashSet <int> {
                    11, 12, 23
                },
                new HashSet <int> {
                    11, 12, 21, 22, 23, 31
                },
                new HashSet <int> {
                    11, 12, 23, 32
                }
            };

            var obj = new ModulesDependency();

            obj.SetRelationFromFile(funcRelationsFileName);
            var x1 = obj.GetTouchedModules(funcNamesList[0]);

            Assert.AreEqual(modulIDsList[0].SetEquals(obj.GetTouchedModules(funcNamesList[0])), true);
            x1 = obj.GetTouchedModules(funcNamesList[1]);
            Assert.AreEqual(modulIDsList[1].SetEquals(obj.GetTouchedModules(funcNamesList[1])), true);
            x1 = obj.GetTouchedModules(funcNamesList[2]);
            Assert.AreEqual(modulIDsList[2].SetEquals(obj.GetTouchedModules(funcNamesList[2])), true);
            x1 = obj.GetTouchedModules(funcNamesList[3]);
            Assert.AreEqual(modulIDsList[3].SetEquals(obj.GetTouchedModules(funcNamesList[3])), true);
            x1 = obj.GetTouchedModules(funcNamesList[4]);
            Assert.AreEqual(modulIDsList[4].SetEquals(obj.GetTouchedModules(funcNamesList[4])), true);
            x1 = obj.GetTouchedModules(funcNamesList[5]);
            Assert.AreEqual(modulIDsList[5].SetEquals(obj.GetTouchedModules(funcNamesList[5])), true);
            x1 = obj.GetTouchedModules(funcNamesList[6]);
            Assert.AreEqual(modulIDsList[6].SetEquals(obj.GetTouchedModules(funcNamesList[6])), true);
        }
Example #2
0
        public void CreateFunctionDependencyFromScratchTest1()
        {
            var inputFuncNameList = new List <string> {
                "f11", "f11", "f11", "f11", "f11",
                "f12", "f12",
                "f21", "f21",
                "f22",
                "f23", "f23",
                "f31", "f31",
                "f32"
            };
            var inputFuncRefNameList = new List <string> {
                "f21", "s112", "f22", "s111", "f23",
                "f23", "f21",
                "s211", "f31",
                "f31",
                "f31", "f32",
                "s311", "s312",
                "s321"
            };
            var inputFuncModulIDList = new List <string> {
                "11", "11", "11", "11", "11",
                "12", "12",
                "21", "21",
                "22",
                "23", "23",
                "31", "31",
                "32"
            };

            using (var funcNameStream = new StreamWriter(functionNamesFileName))
                using (var funcRefNameStream = new StreamWriter(functRefNamesFileName))
                    using (var moduleIDStream = new StreamWriter(moduleIDsFileName)){
                        for (int i = 0; i < inputFuncNameList.Count; ++i)
                        {
                            funcNameStream.WriteLine(inputFuncNameList[i]);
                            funcRefNameStream.WriteLine(inputFuncRefNameList[i]);
                            moduleIDStream.WriteLine(inputFuncModulIDList[i]);
                        }
                    }

            var funcNamesList = new List <string> {
                "f11", "f12", "f21", "f22", "f23", "f31", "f32"
            };
            var modulIDsList = new List <HashSet <int> > {
                new HashSet <int> {
                    11
                },
                new HashSet <int> {
                    12
                },
                new HashSet <int> {
                    11, 12, 21
                },
                new HashSet <int> {
                    11, 22
                },
                new HashSet <int> {
                    11, 12, 23
                },
                new HashSet <int> {
                    11, 12, 21, 22, 23, 31
                },
                new HashSet <int> {
                    11, 12, 23, 32
                }
            };

            var obj = new ModulesDependency();

            obj.SetRelationInFile(functionNamesFileName, functRefNamesFileName, moduleIDsFileName, funcRelationsFileName);

            Assert.AreEqual(modulIDsList[0].SetEquals(obj.GetTouchedModules(funcNamesList[0])), true);
            Assert.AreEqual(modulIDsList[1].SetEquals(obj.GetTouchedModules(funcNamesList[1])), true);
            Assert.AreEqual(modulIDsList[2].SetEquals(obj.GetTouchedModules(funcNamesList[2])), true);
            Assert.AreEqual(modulIDsList[3].SetEquals(obj.GetTouchedModules(funcNamesList[3])), true);
            Assert.AreEqual(modulIDsList[4].SetEquals(obj.GetTouchedModules(funcNamesList[4])), true);
            Assert.AreEqual(modulIDsList[5].SetEquals(obj.GetTouchedModules(funcNamesList[5])), true);
            Assert.AreEqual(modulIDsList[6].SetEquals(obj.GetTouchedModules(funcNamesList[6])), true);
        }