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 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); }