コード例 #1
0
        // case: count of books in list (= 2) <= count of records in db (= 4)
        private void CheckResultWriteBooksFake01()
        {
            var mock = new Mock <IDataBase>();

            mock.Setup(x => x.Retrieve("SELECT COUNT(Id) FROM Books"))
            .Returns(new List <string>()
            {
                "4"
            });

            mock.Setup(x => x.Retrieve($"SELECT * FROM Books WHERE [Id] = {1} AND [Author] = '{_listOfBooks[0][0]}' " +
                                       $"AND [Title] = '{_listOfBooks[0][1]}' AND [ISDN] = '{_listOfBooks[0][2]}' AND [Price] = {Convert.ToDecimal(_listOfBooks[0][3])}"))
            .Returns(_listOfBooks[0]);

            mock.Setup(x => x.Retrieve($"SELECT * FROM Books WHERE [Id] = {2} AND [Author] = '{_listOfBooks[1][0]}' " +
                                       $"AND [Title] = '{_listOfBooks[1][1]}' AND [ISDN] = '{_listOfBooks[1][2]}' AND [Price] = {Convert.ToDecimal(_listOfBooks[1][3])}"))
            .Returns(new List <string>());
            mock.Setup(x => x.Modify($"UPDATE Books SET [Author] = '{_listOfBooks[1][0]}', [Title] = '{_listOfBooks[1][1]}', [ISDN] = '{_listOfBooks[1][2]}'," +
                                     $" [Price] = {Convert.ToDecimal(_listOfBooks[1][3])} WHERE [Id] = {2}"));

            mock.Setup(x => x.Modify($"DELETE * FROM Books WHERE Id = (SELECT MAX(Id) FROM Books)"));

            _plugin = new DataSourceAccess(mock.Object);

            _plugin.WriteBooks(_listOfBooks);

            mock.VerifyAll();
            mock.Verify(x => x.Modify(It.IsAny <string>()), Times.Exactly(3));
            mock.Verify(x => x.Retrieve(It.IsAny <string>()), Times.Exactly(3));
        }
コード例 #2
0
        public SystemManager(SysConfigMgrAccess sysConfig, DataSourceAccess dataSourceAccess)
        {
            //create case handler with IDAL
            CaseHandler m_caseHandler = new CaseHandler(sysConfig, dataSourceAccess);

            //create system mode manager with ISysConfig and IDAL and case handler
            SysModeManager m_sysModeMgr = new SysModeManager(sysConfig, dataSourceAccess, m_caseHandler);

            //create system manager interface with System mode manager
            SysMgrAccess = new SystemManagerAccess(m_sysModeMgr);
        }
コード例 #3
0
        internal SysModeManager(SysConfigMgrAccess sysConfig, DataSourceAccess dataSourceAccess, CaseHandler handler)
        {
            m_SysConfig        = sysConfig;
            m_DataSourceAccess = dataSourceAccess;
            m_caseHandler      = handler;
            m_LinkedCaseID     = string.Empty;
            m_LinkedCaseSource = string.Empty;
            //m_PreviousCaseId = string.Empty;

            //register an event handler with System Configuration Manager to get notified
            //when configuration is modified.
        }
コード例 #4
0
 public IndexObject(long idxId)
 {
     DataSourceAccess dsAccess = new DataSourceAccess("IDX_LIST");
     dsAccess.Filter = UQuery.Eq("IDX_ID", idxId);
     DataRow dr = dsAccess.Execute().AsEnumerable().FirstOrDefault();
     if (dr != null) {
         InitObj(dr);
     }
     else {
         throw new Exception(string.Format("未找到指定的指标(IDX_ID:{0})", idxId));
     }
 }
コード例 #5
0
        private void CheckResultThrowingExceptionReadBooksComplete()
        {
            FillIncorrectListOfBooks();
            _plugin = new DataSourceAccess(_db);
            string          message = "Невозможно загрузить книги из базы данных - прерывание по исключению:" + "\n" + "Ссылка на объект не указывает на экземпляр объекта.";
            EventArgsString mess    = null;

            _plugin.OnError += delegate(object sender, EventArgsString e)
            {
                mess = e;
            };
            _plugin.ReadBooks();
            Assert.IsNotNull(mess, "Событие не вызвано");
            Assert.AreEqual(message, mess.Message, $"Ожидается сообщение: \"{message}\";" + "\n" + $"Вызвано сообщение: \"{mess.Message}\"");
        }
コード例 #6
0
        // case: count of books in list (= 3) > count of records in db (= 2)
        private void CheckResultWriteBooksFake02()
        {
            _listOfBooks.Clear();
            FillListOfBooks();
            _listOfBooks.Add(new List <string>()
            {
                "Мюллер Д.П.", "C# для чайников", "4-657-4982-77", "324"
            });
            var mock = new Mock <IDataBase>();

            mock.Setup(x => x.Retrieve("SELECT COUNT(Id) FROM Books"))
            .Returns(new List <string>()
            {
                "2"
            });

            mock.Setup(x => x.Retrieve($"SELECT * FROM Books WHERE [Id] = {1} AND [Author] = '{_listOfBooks[0][0]}' " +
                                       $"AND [Title] = '{_listOfBooks[0][1]}' AND [ISDN] = '{_listOfBooks[0][2]}' AND [Price] = {Convert.ToDecimal(_listOfBooks[0][3])}"))
            .Returns(new List <string>());
            mock.Setup(x => x.Modify($"UPDATE Books SET [Author] = '{_listOfBooks[0][0]}', [Title] = '{_listOfBooks[0][1]}'," +
                                     $" [ISDN] = '{_listOfBooks[0][2]}', [Price] = {Convert.ToDecimal(_listOfBooks[0][3])} WHERE [Id] = {1}"));

            mock.Setup(x => x.Retrieve($"SELECT * FROM Books WHERE [Id] = {2} AND [Author] = '{_listOfBooks[1][0]}' " +
                                       $"AND [Title] = '{_listOfBooks[1][1]}' AND [ISDN] = '{_listOfBooks[1][2]}' AND [Price] = {Convert.ToDecimal(_listOfBooks[1][3])}"))
            .Returns(_listOfBooks[1]);

            mock.Setup(x => x.Retrieve($"SELECT * FROM Books WHERE [Id] = {3} AND [Author] = '{_listOfBooks[2][0]}' " +
                                       $"AND [Title] = '{_listOfBooks[2][1]}' AND [ISDN] = '{_listOfBooks[2][2]}' AND [Price] = {Convert.ToDecimal(_listOfBooks[2][3])}"))
            .Returns(new List <string>());
            mock.Setup(x => x.Modify($"INSERT INTO Books (Id, Author, Title, ISDN, Price)" +
                                     $" VALUES ({3}, '{_listOfBooks[2][0]}', '{_listOfBooks[2][1]}', '{_listOfBooks[2][2]}', {Convert.ToDecimal(_listOfBooks[2][3])})"));

            _plugin = new DataSourceAccess(mock.Object);

            _plugin.WriteBooks(_listOfBooks);

            mock.VerifyAll();
            mock.Verify(x => x.Modify(It.IsAny <string>()), Times.Exactly(2));
            mock.Verify(x => x.Retrieve(It.IsAny <string>()), Times.Exactly(4));
        }
コード例 #7
0
        private void CheckResultReadBooksFake()
        {
            _listOfBooks.Clear();
            FillListOfBooks();
            var mock = new Mock <IDataBase>();

            mock.Setup(x => x.Retrieve("SELECT * FROM Books"))
            .Returns(ReturnListOfStrings());

            _plugin = new DataSourceAccess(mock.Object);
            var expected = _listOfBooks;

            var actual = _plugin.ReadBooks();

            Assert.IsTrue(actual != null, "Ошибка чтения: Метод возвращает 'null'");
            Assert.AreEqual(expected.Count, actual.Count, "Ошибка чтения: Возвращено неправильное число книг");
            for (int i = 0; i < expected.Count; i++)
            {
                Assert.IsTrue(expected[i][0] == actual[i][0], ($"Ошибка чтения: Поле 'Автор' {i + 1}-й книги прочитано некорректно"));
                Assert.IsTrue(expected[i][1] == actual[i][1], ($"Ошибка чтения: Поле 'Название' {i + 1}-й книги прочитано некорректно"));
                Assert.IsTrue(expected[i][2] == actual[i][2], ($"Ошибка чтения: Поле 'ISDN' {i + 1}-й книги прочитано некорректно"));
                Assert.IsTrue(expected[i][3] == actual[i][3], ($"Ошибка чтения: Поле 'Цена' {i + 1}-й книги прочитано некорректно"));
            }
        }
コード例 #8
0
 public void TestInitialize()
 {
     _connectString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\..\..\DataBases\Books.mdb;";
     _plugin        = new DataSourceAccess();
     FillListOfBooks();
 }
コード例 #9
0
ファイル: CaseHandler.cs プロジェクト: marzlia/CXPortal
 public CaseHandler(SysConfigMgrAccess sysConfigMgrAccess, DataSourceAccess dataAccessLayer)
 {
     m_SysConfigMgrAccess = sysConfigMgrAccess;
     m_dataSourceAccess   = dataAccessLayer;
     m_caseCollection     = new CaseCollection();
 }