public void ExecuteTestCase4() { // arrange int[][] listOfSet = new int[][] { new int[] { 0, 1 }, new int[] { 2, 3 }, new int[] { 4 }, new int[] { 1, 3 } }; BruteForceRepresentativesAsTree bruteForce = new BruteForceRepresentativesAsTree(5, listOfSet); List <int> expectedResult = new List <int>() { 1, 3, 4 }; string expectedResult2 = "1,2,4"; // act bruteForce.Execute(); // assert Assert.AreEqual(expectedResult.Count, bruteForce.Result.Count, "Wrong number rows in result"); for (int i = 0; i < expectedResult.Count; i++) { Assert.AreEqual(expectedResult[i], bruteForce.Result[i], $"Wrong string in position {i} - {bruteForce.Result[i]}. Expected - {expectedResult[i]}"); } Assert.IsTrue(bruteForce.OptimalSets.Contains(expectedResult2)); }
//-------------------------------------------------------------------------------------- protected override bool MakeAction() { if (_fCurrentPosition == _fSize - 1) { // arrange int[][] listOfSet = _fCurrentSet.Select(t => BruteForceRepresentatives.GetAsElementNumbers(t, _fCardinality).ToArray()).ToArray(); BruteForceRepresentatives bruteForce = new BruteForceRepresentatives(); BruteForceRepresentativesAsTree bruteForceAsTree = new BruteForceRepresentativesAsTree(_fCardinality, listOfSet); // act List <int> result = bruteForce.ExecuteByBinary(listOfSet); bruteForceAsTree.Execute(); bruteForce.OptimalSets = bruteForce.OptimalSets.OrderBy(s => s).ToList(); bruteForceAsTree.OptimalSets = bruteForceAsTree.OptimalSets.OrderBy(s => s).ToList(); // assert Assert.AreEqual(bruteForceAsTree.OptimalSets.Count, bruteForce.OptimalSets.Count, "Wrong number rows in result"); for (int i = 0; i < bruteForceAsTree.OptimalSets.Count; i++) { Assert.AreEqual(bruteForceAsTree.OptimalSets[i], bruteForce.OptimalSets[i], $"Wrong string in position {i} - {bruteForceAsTree.OptimalSets[i]}. Expected - {bruteForce.OptimalSets[i]}"); } } return(false); }