public void FromStringRecordsAutomaticIds()
        {
            QueryTextOptions options = QueryTextOptions.From("question", new[] { "a", "b", "c" }, null);

            Assert.AreEqual("question", options.Question);
            Assert.AreEqual(3, options.Records.Count);
            Assert.AreEqual("1", options.Records[0].Id);
            Assert.AreEqual("a", options.Records[0].Text);
            Assert.AreEqual("2", options.Records[1].Id);
            Assert.AreEqual("b", options.Records[1].Text);
            Assert.AreEqual("3", options.Records[2].Id);
            Assert.AreEqual("c", options.Records[2].Text);
        }
        public void FromTextRecordsAutomaticIds()
        {
            IEnumerable <TextRecord> records = new[]
            {
                new TextRecord("1", "a"),
                new TextRecord("2", "b"),
                new TextRecord("3", "c"),
            };

            QueryTextOptions options = QueryTextOptions.From("question", records, null);

            Assert.AreEqual("question", options.Question);
            Assert.AreEqual(3, options.Records.Count);
            Assert.AreEqual("1", options.Records[0].Id);
            Assert.AreEqual("a", options.Records[0].Text);
            Assert.AreEqual("2", options.Records[1].Id);
            Assert.AreEqual("b", options.Records[1].Text);
            Assert.AreEqual("3", options.Records[2].Id);
            Assert.AreEqual("c", options.Records[2].Text);
        }
        public void FromTextRecordsRecordsNull()
        {
            ArgumentException ex = Assert.Throws <ArgumentNullException>(() => QueryTextOptions.From("question", (IEnumerable <TextRecord>)null, null));

            Assert.AreEqual("records", ex.ParamName);
        }
        public void FromStringRecordsQuestionNull()
        {
            ArgumentException ex = Assert.Throws <ArgumentNullException>(() => QueryTextOptions.From(null, Array.Empty <string>(), null));

            Assert.AreEqual("question", ex.ParamName);
        }