public void CalculatesRandom() { List <Tuple <int, int> > cities = new List <Tuple <int, int> >(); cities.Add(new Tuple <int, int>(1, 2)); cities.Add(new Tuple <int, int>(1, 3)); var rand = new Random(); for (int i = 1; i <= largeTestCount / 10; ++i) { var currentCity = rand.Next(largeTestCount); var citiesToConnect = rand.Next(largeTestCount / 10); for (int j = 0; j < citiesToConnect; ++j) { cities.Add(new Tuple <int, int>(currentCity, rand.Next(largeTestCount))); } } var sut = new MaximalTourism(cities); var result = sut.FindMaximumConnectedCities(); Assert.IsTrue(result > 2); }
public void UsesSampleInput(string fileName, int expectedREsult) { var filePath = Path.Combine(TestContext.CurrentContext.TestDirectory, fileName); var allText = File.ReadAllText(filePath).Split(Environment.NewLine); string[] tokens_n = allText.First().Split(' '); int n = Convert.ToInt32(tokens_n[0]); int m = Convert.ToInt32(tokens_n[1]); int[][] route = new int[allText.Length - 1][]; var index = 0; foreach (var line in allText.Skip(1)) { string[] route_temp = line.Split(' '); route[index] = Array.ConvertAll(route_temp, Int32.Parse); index++; } var sut = new MaximalTourism(route); var result = sut.FindMaximumConnectedCities(); Assert.AreEqual(expectedREsult, result); }
public void CalculatesValidExamples(string inputStr, int expectedMaxCities) { var sut = new MaximalTourism(inputStr.Split("|")); var result = sut.FindMaximumConnectedCities(); Assert.AreEqual(expectedMaxCities, result); }
public void CalculatesAllConnectedDownwards() { List <Tuple <int, int> > cities = new List <Tuple <int, int> >(); for (int i = largeTestCount; i > 0; --i) { cities.Add(new Tuple <int, int>(i, i + 1)); } cities.Add(new Tuple <int, int>(largeTestCount + 2, largeTestCount + 3)); var sut = new MaximalTourism(cities); var result = sut.FindMaximumConnectedCities(); Assert.AreEqual(largeTestCount + 1, result); }
public void CalculatesWithAllDisjoint() { List <Tuple <int, int> > cities = new List <Tuple <int, int> >(); for (int i = 1; i <= largeTestCount; ++i) { cities.Add(new Tuple <int, int>(i, i)); } cities.Add(new Tuple <int, int>(largeTestCount + 1, largeTestCount + 2)); var sut = new MaximalTourism(cities); var result = sut.FindMaximumConnectedCities(); Assert.AreEqual(2, result); }