예제 #1
0
        public void Test_ColumnValuesRejectorTests()
        {
            var rejector = new ColumnValuesRejector(PatColName, new HashSet <string>(new [] { "Frank", "Peter", "David" }, StringComparer.CurrentCultureIgnoreCase));

            var moqDave = new Mock <DbDataReader>();

            moqDave.Setup(x => x[PatColName])
            .Returns("Dave");

            Assert.IsFalse(rejector.Reject(moqDave.Object, out string reason));
            Assert.IsNull(reason);

            var moqFrank = new Mock <DbDataReader>();

            moqFrank.Setup(x => x[PatColName])
            .Returns("Frank");

            Assert.IsTrue(rejector.Reject(moqFrank.Object, out reason));
            Assert.AreEqual("Patient was in reject list", reason);

            var moqLowerCaseFrank = new Mock <DbDataReader>();

            moqLowerCaseFrank.Setup(x => x[PatColName])
            .Returns("frank");

            Assert.IsTrue(rejector.Reject(moqLowerCaseFrank.Object, out reason));
            Assert.AreEqual("Patient was in reject list", reason);
        }
예제 #2
0
        public void Test_ColumnValuesRejector_MissingColumn_Throws()
        {
            var rejector = new ColumnValuesRejector("fff", new HashSet <string> {
                "dave", "frank"
            });

            var moqDave = new Mock <DbDataReader>();

            moqDave
            .Setup(x => x["fff"])
            .Throws <IndexOutOfRangeException>();

            var exc = Assert.Throws <IndexOutOfRangeException>(() => rejector.Reject(moqDave.Object, out string _));

            Assert.True(exc.Message.Contains($"Expected a column called fff"));
        }