public void WordAppend()
        {
#if !DEBUG
        Assert.Multiple(() => {
#endif
            var expected = "a";
            var actual = _object.WordAppend(new[] { "a", "b", "a" });
            Assert.Equal(expected, actual);

            expected = "aa";
            actual = _object.WordAppend(new[] { "a", "b", "a", "c", "a", "d", "a" });
            Assert.Equal(expected, actual);

            expected = "a";
            actual = _object.WordAppend(new[] { "a", "", "a" });
            Assert.Equal(expected, actual);

            expected = "";
            actual = _object.WordAppend(new string[0]);
            Assert.Equal(expected, actual);

            expected = "ba";
            actual = _object.WordAppend(new[] { "a", "b", "b", "a", "a" });
            Assert.Equal(expected, actual);

            expected = "baa";
            actual = _object.WordAppend(new[] { "a", "b", "b", "b", "a", "c", "a", "a" });
            Assert.Equal(expected, actual);

            expected = "baaba";
            actual = _object.WordAppend(new[] { "a", "b", "b", "b", "a", "c", "a", "a", "a", "b", "a" });
            Assert.Equal(expected, actual);

            expected = "andornot";
            actual = _object.WordAppend(new[] { "not", "and", "or", "and", "this", "and", "or", "that", "not" });
            Assert.Equal(expected, actual);

            expected = "";
            actual = _object.WordAppend(new[] { "a", "b", "c" });
            Assert.Equal(expected, actual);

            expected = "thisandthat";
            actual = _object.WordAppend(new[] { "this", "or", "that", "and", "this", "and", "that" });
            Assert.Equal(expected, actual);

            expected = "xxyyzzxx";
            actual = _object.WordAppend(new[] { "xx", "xx", "yy", "xx", "zz", "yy", "zz", "xx" });
            Assert.Equal(expected, actual);
#if !DEBUG
});
#endif
        }