public void AppendCopyOfTestCaseSampleProjectTest() { TestCasesRoot tcr = new TestCasesRoot(); tcr.CreateSampleProject(); TestUtils.CheckTestCasesAndConditionsAndActions(tcr); int testCasesCount = tcr.TestCases.Count; for (int tcIdx = 0; tcIdx < testCasesCount; tcIdx++) { TestCase newTestCase = tcr.InsertTestCase(); TestCase templateTestCase = tcr.TestCases[tcIdx]; tcr.CopyTestCaseSettings(templateTestCase, newTestCase); } // create and save the sample project string savePath = Path.Combine(TestSupport.CreatedFilesDirectory, "SimpleProject.dtc"); tcr.Save(savePath); ProcessStartInfo info = new ProcessStartInfo(@"C:\Program Files (x86)\Notepad++\notepad++.exe", savePath); Process.Start(info); for (int tcIdx = 0; tcIdx < testCasesCount; tcIdx++) { CompareTestCases(tcr, tcIdx, tcIdx + testCasesCount); } }
public void CompareTestCases2Test(int selected11, int selected12, int selected13, int selected21, int selected22, int selected23, bool unique1, bool unique2, int expectedCoveredCount) { TestCasesRoot tcr = new TestCasesRoot(); var enum1 = TestCasesRoot.CreateSampleEnum("enum1", 6, 0, 0, 5); var enum2 = TestCasesRoot.CreateSampleEnum("enum2", 6, 0, 0, 5); var enum3 = TestCasesRoot.CreateSampleEnum("enum3", 6, 0, 0, 5); tcr.Conditions.Add(ConditionObject.Create("enum1", enum1)); tcr.Conditions.Add(ConditionObject.Create("enum2", enum2)); tcr.Conditions.Add(ConditionObject.Create("enum3", enum3)); List <ValueObject> conditions1 = new List <ValueObject>(); conditions1.Add(new ValueObject(enum1, selected11)); conditions1.Add(new ValueObject(enum2, selected12)); conditions1.Add(new ValueObject(enum3, selected13)); List <ValueObject> conditions2 = new List <ValueObject>(); conditions2.Add(new ValueObject(enum1, selected21)); conditions2.Add(new ValueObject(enum2, selected22)); conditions2.Add(new ValueObject(enum3, selected23)); TestCase tc1 = tcr.InsertTestCase(); tc1.SetValues(tcr, conditions1, new List <ValueObject>()); TestCase tc2 = tcr.InsertTestCase(); tc2.SetValues(tcr, conditions2, new List <ValueObject>()); Trace.WriteLine(tc1); Trace.WriteLine(tc2); bool isEqual = tc1.TestSettingIsEqual(tc2); Assert.That(TestCase.UpdateUniqueness(tc1, tc2) == (unique1 && unique2)); long count = tcr.CalculateNumberOfUniqueCoveredTestCases(); Assert.That(tc1.TestCaseIsUnique == unique1); Assert.That(tc2.TestCaseIsUnique == unique2); Assert.That(count == expectedCoveredCount); }
public void CalculateUniqueTestCasesWithDontCare(int id, int[] values, int expectedCombinations, int expectedCoveredTestCases, double expectedCovarage) { string testOutputPath = Path.Combine(TestSupport.CreatedFilesDirectory, "TestOutput.txt"); string testSettingPath = Path.Combine(TestSupport.CreatedFilesDirectory, "TestSetting.txt"); TestCasesRoot tcr = new TestCasesRoot(); List <List <ValueObject> > listOfValueLists = new List <List <ValueObject> >(); var enum1 = TestCasesRoot.CreateSampleEnum("enum1", 4, 0, 0, 3); var enum2 = TestCasesRoot.CreateSampleEnum("enum2", 4, 0, 0, 3); var enum3 = TestCasesRoot.CreateSampleEnum("enum3", 6, 0, 0, 5); tcr.Conditions.Add(ConditionObject.Create("name", enum1)); tcr.Conditions.Add(ConditionObject.Create("name", enum2)); tcr.Conditions.Add(ConditionObject.Create("name", enum3)); for (int idx1 = 0; idx1 < 3; idx1++) { for (int idx2 = 0; idx2 < 4; idx2++) { for (int idx3 = 0; idx3 < 6; idx3++) { listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, idx1), new ValueObject(enum2, idx2), new ValueObject(enum3, idx3), }); } } } listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 3), new ValueObject(enum2, 3), new ValueObject(enum3, 5), }); for (int idx = 0; idx < listOfValueLists.Count; idx++) { List <ValueObject> condList = listOfValueLists[idx]; File.AppendAllText(testOutputPath, String.Format("{0:d2} {1} {2} {3}" + Environment.NewLine, idx, condList[0].SelectedValue.ToTestString(), condList[1].SelectedValue.ToTestString(), condList[2].SelectedValue.ToTestString())); } for (int idx = 0; idx < values.Length; idx++) { //TestCase tc = new TestCase(String.Format("tc {0:d2}", idx), listOfValueLists[values[idx]], new List<ValueObject>()); //tcr.TestCases.Add(tc); TestCase tc = tcr.InsertTestCase(); tc.SetValues(tcr, listOfValueLists[values[idx]], new List <ValueObject>()); //File.AppendAllText(testSettingPath, String.Format("{0}" + Environment.NewLine, tc)); } Statistics stat = tcr.CalculateStatistics(); for (int idx = 0; idx < tcr.TestCases.Count; idx++) { File.AppendAllText(testSettingPath, String.Format("{0}" + Environment.NewLine, tcr.TestCases[idx])); } File.AppendAllText(testSettingPath, Environment.NewLine + Environment.NewLine); ExpandTestCases expand = new ExpandTestCases(); var resultList = expand.Expand(tcr); foreach (TestCase testCase in resultList) { File.AppendAllText(testSettingPath, String.Format("{0}" + Environment.NewLine, testCase)); } Assert.That(stat.CoveredTestCases == expectedCoveredTestCases); Assert.That(stat.PossibleCombinations == expectedCombinations); Assert.That(stat.Coverage.Equals(expectedCovarage)); }
public void CalculateUniqueTestCases(int id, int[] values, int expectedResult) { TestCasesRoot tcr = new TestCasesRoot(); List <List <ValueObject> > listOfValueLists = new List <List <ValueObject> >(); var enum1 = TestCasesRoot.CreateSampleEnum("enum1", 4, 0, 0, -1); var enum2 = TestCasesRoot.CreateSampleEnum("enum2", 4, 0, 0, 1); var enum3 = TestCasesRoot.CreateSampleEnum("enum3", 6, 0, 0, -1); tcr.Conditions.Add(ConditionObject.Create("name", enum1)); tcr.Conditions.Add(ConditionObject.Create("name", enum2)); tcr.Conditions.Add(ConditionObject.Create("name", enum3)); //0 listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 1), new ValueObject(enum2, 2), new ValueObject(enum3, 2), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 1), new ValueObject(enum2, 2), new ValueObject(enum3, 2), }); //2 listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 2), new ValueObject(enum2, 3), new ValueObject(enum3, 3), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 2), new ValueObject(enum2, 3), new ValueObject(enum3, 3), }); //4 listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 3), new ValueObject(enum2, 3), new ValueObject(enum3, 3), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 3), new ValueObject(enum2, 3), new ValueObject(enum3, 3), }); //6 listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 3), new ValueObject(enum2, 2), new ValueObject(enum3, 3), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 3), new ValueObject(enum2, 2), new ValueObject(enum3, 3), }); //8 listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 3), new ValueObject(enum2, 3), new ValueObject(enum3, 4), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 3), new ValueObject(enum2, 3), new ValueObject(enum3, 4), }); //10 listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 1), new ValueObject(enum2, 2), new ValueObject(enum3, 5), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 1), new ValueObject(enum2, 2), new ValueObject(enum3, 5), }); //12 listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 2), new ValueObject(enum2, 2), new ValueObject(enum3, 3), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 2), new ValueObject(enum2, 2), new ValueObject(enum3, 3), }); //14 not valid for unique count listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 2), new ValueObject(enum2, 2), new ValueObject(enum3, 0), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 2), new ValueObject(enum2, 2), new ValueObject(enum3, 0), }); //16 listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 1), new ValueObject(enum2, 2), new ValueObject(enum3, 2), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 1), new ValueObject(enum2, 2), new ValueObject(enum3, 2), }); //18 listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 1), new ValueObject(enum2, 2), new ValueObject(enum3, 2), }); listOfValueLists.Add(new List <ValueObject>() { new ValueObject(enum1, 1), new ValueObject(enum2, 2), new ValueObject(enum3, 2), }); List <TestCase> testCases = new List <TestCase>(); for (int idx = 0; idx < values.Length; idx++) { TestCase tc = tcr.InsertTestCase(); tc.SetValues(tcr, listOfValueLists[values[idx]], new List <ValueObject>()); //TestCase tc = new TestCase(String.Format("tc {0:d2} {1:d2}", idx, values[idx]), listOfValueLists[values[idx]], new List<ValueObject>()); //testCases.Add(tc); //Trace.WriteLine(tc); } long result = tcr.CalculateNumberOfUniqueCoveredTestCases(); Assert.That(result == expectedResult); }