/// <summary>
        /// Serialize command parameters using specified binary stream writer.
        /// </summary>
        /// <param name="writer">Binary stream writer object</param>
        protected override void SerializeRequest(IBinaryWriter writer)
        {
            // build mode
            writer.Write(MODE);

            // parameters
            writer.Write((int)Options);
            writer.Write(Index);
            _keywords.Serialize(writer);

            // additional options
            writer.Write(BeforeMatch);
            writer.Write(AfterMatch);
            writer.Write(SnippetsDelimiter);
            writer.Write(SnippetSizeLimit);
            writer.Write(WordsAroundKeyword);
            // added since 1.10-beta
            writer.Write(SnippetsCountLimit);
            writer.Write(WordsCountLimit);
            writer.Write(StartPassageId);
            writer.Write(HtmlStripMode.ToString().ToLowerInvariant());
            // added since 2.0.1-beta
            writer.Write(PassageBoundary.ToString().ToLowerInvariant());

            // serialize documents list
            _documents.Serialize(writer);
        }
 public void HtmlStripModeTest()
 {
     using (ConnectionBase connection = new ConnectionMock())
     {
         BuildExcerptsCommand target = new BuildExcerptsCommand(connection);
         // default value
         Assert.AreEqual(target.HtmlStripMode, BuildExcerptsCommand_Accessor.DEFAULT_HTML_STRIP_MODE);
         // valid value
         HtmlStripMode expected = HtmlStripMode.Retain;
         target.HtmlStripMode = expected;
         Assert.AreEqual(expected, target.HtmlStripMode);
     }
 }