public void SortCitiesPairs_CorrectInput_ShouldSuccess() { //Arrange var manager = new TravelAssistantService(); var input = new[] { new TaCitiesPair("Москва", "Париж"), new TaCitiesPair("Берлин", "Мельбурн"), new TaCitiesPair("Кельн", "Москва"), new TaCitiesPair("Мельбурн", "Кельн"), }; var expectedResult = new[] { new TaCitiesPair("Берлин", "Мельбурн"), new TaCitiesPair("Мельбурн", "Кельн"), new TaCitiesPair("Кельн", "Москва"), new TaCitiesPair("Москва", "Париж"), }; //Act manager.SortCitiesPairs(input); //Assert Assert.That(expectedResult, Is.EqualTo(input)); }
static void Main(string[] args) { // данный проект использовался для отладки алгоритма var manager = new TravelAssistantService(); var referenceResult = new[] { new TaCitiesPair("Берлин", "Мельбурн"), new TaCitiesPair("Мельбурн", "Кельн"), new TaCitiesPair("Кельн", "Москва"), new TaCitiesPair("Москва", "Париж"), }; var referenceInput = new[] { new TaCitiesPair("Кельн", "Москва"), new TaCitiesPair("Мельбурн", "Кельн"), new TaCitiesPair("Москва", "Париж"), new TaCitiesPair("Берлин", "Мельбурн"), }; var debugSample = new[] { new TaCitiesPair("Берлин", "Кельн"), new TaCitiesPair("Мельбурн", "Кельн"), new TaCitiesPair("Москва", "Париж"), new TaCitiesPair("Кельн", "Москва"), }; manager.SortCitiesPairs(debugSample); }
public void SortCitiesPairs_InputWithMultipleChains_ShouldThrowTaManyHeadsException() { //Arrange var manager = new TravelAssistantService(); var input = new[] { new TaCitiesPair("Берлин", "Мельбурн"), new TaCitiesPair("Мельбурн", "Кельн"), new TaCitiesPair("Москва", "Париж"), }; //Act //Assert Assert.Throws <TaManyHeadsException>(() => manager.SortCitiesPairs(input)); }
public void SortCitiesPairs_InputWithRepetitionsOfCities_ShouldThrowTaAddingDuplicateException3() { //Arrange var manager = new TravelAssistantService(); var input = new[] { new TaCitiesPair("Берлин", "Мельбурн"), new TaCitiesPair("Мельбурн", "Кельн"), new TaCitiesPair("Кельн", "Мельбурн"), new TaCitiesPair("Москва", "Париж"), }; //Act //Assert Assert.Throws <TaAddingDuplicateException>(() => manager.SortCitiesPairs(input)); }
public void SortCitiesPairs_InputWithClosedChain_ShouldThrowTaCircularReferenceException() { //Arrange var manager = new TravelAssistantService(); var input = new[] { new TaCitiesPair("Париж", "Мельбурн"), new TaCitiesPair("Мельбурн", "Кельн"), new TaCitiesPair("Москва", "Париж"), new TaCitiesPair("Кельн", "Москва"), }; //Act //Assert Assert.Throws <TaCircularReferenceException>(() => manager.SortCitiesPairs(input)); }