public void GetConfigurationInfoFromDb_NullReader()
        {
            //Arrange
            //Act
            var sut = new ConfigurationInfoHandler();
            sut.GetConfigurationInfoFromDb(null);

            //Assert
        }
        public void GetConfigurationInfoFromDb_FailedReader()
        {
            //Arrange
            var dr = MockRepository.GenerateStub<IDataReader>();
            dr.Stub(x => x.Read()).Throw(new Exception("Bad DataReader.Read()"));

            //Act
            var sut = new ConfigurationInfoHandler();
            sut.GetConfigurationInfoFromDb(dr);

            //Assert
        }
        public void GetConfigurationInfoFromDb_NoRecords()
        {
            //Arrange
            var dr = MockRepository.GenerateStub<IDataReader>();
            dr.Stub(x => x.Read()).Return(false);

            //Act
            var sut = new ConfigurationInfoHandler();
            List<dynamic> result = sut.GetConfigurationInfoFromDb(dr);

            //Assert
            Assert.AreEqual(0, result.Count);
        }
        public void GetConfigurationInfoFromDb_ReturnSomeRecords()
        {
            //Arrange
            var dr = MockRepository.GenerateStub<IDataReader>();
            dr.Stub(x => x.Read()).Repeat.Twice().Return(true);
            dr.Stub(x => x.Read()).Return(false);
            dr.Stub(x => x["ID"]).Repeat.Once().Return(1);
            dr.Stub(x => x["Tag"]).Repeat.Once().Return("Tag1");
            dr.Stub(x => x["ConfigValue"]).Repeat.Once().Return("Value1");
            dr.Stub(x => x["ID"]).Repeat.Once().Return(2);
            dr.Stub(x => x["Tag"]).Repeat.Once().Return("Tag2");
            dr.Stub(x => x["ConfigValue"]).Repeat.Once().Return("Value2");


            //Act
            var sut = new ConfigurationInfoHandler();
            List<dynamic> result = sut.GetConfigurationInfoFromDb(dr);

            //Assert
            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(1, result[0].ID);
            Assert.AreEqual("Tag1", result[0].Tag);
            Assert.AreEqual("Value1", result[0].ConfigValue);
            Assert.AreEqual(2, result[1].ID);
            Assert.AreEqual("Tag2", result[1].Tag);
            Assert.AreEqual("Value2", result[1].ConfigValue);
        }