public void FirstSwap() { #if !DEBUG Assert.Multiple(() => { #endif var expected = new[] { "ac", "ab" }; var actual = _object.FirstSwap(new[] { "ab", "ac" }); Assert.Equal(expected, actual); expected = new[] { "ay", "by", "cy", "cx", "bx", "ax", "aaa", "azz" }; actual = _object.FirstSwap(new[] { "ax", "bx", "cx", "cy", "by", "ay", "aaa", "azz" }); Assert.Equal(expected, actual); expected = new[] { "ay", "by", "ax", "bx", "ai", "aj", "bx", "by" }; actual = _object.FirstSwap(new[] { "ax", "bx", "ay", "by", "ai", "aj", "bx", "by" }); Assert.Equal(expected, actual); expected = new[] { "ay", "bx", "cy", "ax", "cx", "aaa", "abb" }; actual = _object.FirstSwap(new[] { "ax", "bx", "cx", "ay", "cy", "aaa", "abb" }); Assert.Equal(expected, actual); expected = new[] { "every", "does", "ice", "easy", "it", "eaten" }; actual = _object.FirstSwap(new[] { "easy", "does", "it", "every", "ice", "eaten" }); Assert.Equal(expected, actual); expected = new[] { "lily", "over", "water", "swims", "of", "list", "words", "wait" }; actual = _object.FirstSwap(new[] { "list", "of", "words", "swims", "over", "lily", "water", "wait" }); Assert.Equal(expected, actual); expected = new[] { "42", "8", "16", "15", "23", "4" }; actual = _object.FirstSwap(new[] { "4", "8", "15", "16", "23", "42" }); Assert.Equal(expected, actual); expected = new[] { "aaa" }; actual = _object.FirstSwap(new[] { "aaa" }); Assert.Equal(expected, actual); expected = new string[0]; actual = _object.FirstSwap(new string[0]); Assert.Equal(expected, actual); expected = new[] { "a", "b", "c", "xx", "yy", "zz" }; actual = _object.FirstSwap(new[] { "a", "b", "c", "xx", "yy", "zz" }); Assert.Equal(expected, actual); #if !DEBUG }); #endif }