예제 #1
0
 public void ExtractFields()
 {
     var adapter = new DatabaseAdapter(this.conn);
     var fields = adapter.ExtractColumnDistinct("tblContacts", "tblContactCat");
     Array.ForEach(fields, field => Console.WriteLine("{0}", field));
 }
        public void Test_ExtractColumn_Works()
        {
            // arrange
            var adapter = new DatabaseAdapter(this.conn.Object, this.sqlGenerator.Object);
            var callRead = 0;
            this.reader.Setup(x => x.Read())
                .Returns(() => callRead < 3)
                .Callback(() => callRead++);
            var callArray = 0;
            this.reader.Setup(x => x["field2"])
                .Returns(() => TableData[callArray, 1])
                .Callback(() => callArray++);

            // act
            var columnData = adapter.ExtractColumnDistinct("some_table", "field2");

            // assert
            Assert.AreEqual(3, columnData.Length);
            Assert.AreEqual("col2val1", columnData[0]);
            Assert.AreEqual("col2val2", columnData[1]);
            Assert.AreEqual("col2val3", columnData[2]);
        }