public void DeleteByMultipleId()
 {
     var ids = new[] {"123", "456"};
     var conn = new Mocks.MSolrConnection();
     var xml = string.Format("<delete><id>{0}</id><id>{1}</id></delete>", ids[0], ids[1]);
     conn.post = conn.post.Args("/update", xml);
     var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(ids, null, null), null);
     cmd.Execute(conn);
     Assert.AreEqual(1, conn.post.Calls);
 }
        public void DeleteByIdAndQuery()
        {
            var ids = new[] { "123", "456" };
            const string queryString = "someQuery";
            var xml = string.Format("<delete><id>{0}</id><id>{1}</id><query>{2}</query></delete>", ids[0], ids[1], queryString);
            var conn = new Mocks.MSolrConnection();
            conn.post = conn.post.Args("/update", xml);

            var q = new SolrQuery(queryString);
            var querySerializer = new Mocks.MSolrQuerySerializer();
            querySerializer.serialize += _ => queryString;

            var cmd = new DeleteCommand(new DeleteByIdAndOrQueryParam(ids, q, querySerializer), null);
            cmd.Execute(conn);

            Assert.AreEqual(1, conn.post.Calls);
        }