示例#1
0
        public void RetrieveSessionFromXmlFile()
        {
            // Prepare input
            ReggieSession session = new ReggieSession()
            {
                RegularExpressionPattern = "323", SampleText = "46346kljlk"
            };
            string fileToOpen = "c:\\this\\file.reggie";

            // Prepare mocks
            m_fileAdapter.Setup(fa => fa.OpenFileOpenDialogBox(It.Is <string>(x => x == "*.reggie"),
                                                               It.Is <string>(x => x == ("Reggie file (*.reggie)|*.reggie"))))
            .Returns(fileToOpen);
            m_fileAdapter.Setup(fa => fa.DeserializeXmlFile <ReggieSession>(It.Is <string>(x => x == fileToOpen)))
            .Returns(new[] { session });

            // Call the system under test
            var actual = m_systemUnderTest.Retrieve();

            // Evaluate output
            Assert.IsTrue(object.ReferenceEquals(session, actual), "wrong value returned");

            m_fileAdapter.Verify(fa => fa.OpenFileOpenDialogBox(It.IsAny <string>(), It.IsAny <string>()), Times.Once());
            m_fileAdapter.Verify(fa => fa.DeserializeXmlFile <ReggieSession>(It.IsAny <string>()), Times.Once());
        }
示例#2
0
        /// <summary>
        /// Saves the <see cref="IReggieSession"/>.
        /// </summary>
        /// <param name="session">Session to save</param>
        public void Save(ReggieSession session)
        {
            string file = m_fileAdapter.OpenFileSaveDialogBox(ReggieExtension, ReggieFilter);

            if (!string.IsNullOrWhiteSpace(file))
            {
                m_fileAdapter.SerializeXmlFile(new[] { session }, file);
            }
        }
示例#3
0
        /// <summary>
        /// Save the current input values for future use.
        /// </summary>
        public void SaveSession()
        {
            var session = new ReggieSession()
            {
                SampleText = this.SampleText,
                RegularExpressionPattern = this.RegularExpressionPattern
            };

            m_persistence.Save(session);
        }
示例#4
0
        public void GetAndSetRegularExpressionPattern()
        {
            string expected = "asdf34;lkjsdf";

            ReggieSession target = new ReggieSession();

            target.RegularExpressionPattern = expected;

            string actual = target.RegularExpressionPattern;

            Assert.AreEqual(expected, actual);
        }
示例#5
0
        public void GetAndSetSampleText()
        {
            string expected = "asdf34;lkjsdf";

            ReggieSession target = new ReggieSession();

            target.SampleText = expected;

            string actual = target.SampleText;

            Assert.AreEqual(expected, actual);
        }
示例#6
0
        public void RetrieveSessionFromXmlFileButDialogIsCancelled()
        {
            // Prepare input
            ReggieSession session    = null;
            string        fileToOpen = string.Empty;

            // Prepare mocks
            m_fileAdapter.Setup(fa => fa.OpenFileOpenDialogBox(It.Is <string>(x => x == "*.reggie"),
                                                               It.Is <string>(x => x == ("Reggie file (*.reggie)|*.reggie"))))
            .Returns(fileToOpen);

            // Call the system under test
            var actual = m_systemUnderTest.Retrieve();

            // Evaluate output
            Assert.IsTrue(object.ReferenceEquals(session, actual), "wrong value returned");

            m_fileAdapter.Verify(fa => fa.OpenFileOpenDialogBox(It.IsAny <string>(), It.IsAny <string>()), Times.Once());
        }
示例#7
0
        public void RetrieveSessionFromBadFile()
        {
            // Prepare input
            ReggieSession session = new ReggieSession()
            {
                RegularExpressionPattern = "323", SampleText = "46346kljlk"
            };
            string fileToOpen = "c:\\this\\file.reggie";

            // Prepare mocks
            m_fileAdapter.Setup(fa => fa.OpenFileOpenDialogBox(It.Is <string>(x => x == "*.reggie"),
                                                               It.Is <string>(x => x == ("Reggie file (*.reggie)|*.reggie"))))
            .Returns(fileToOpen);
            m_fileAdapter.Setup(fa => fa.DeserializeXmlFile <ReggieSession>(It.Is <string>(x => x == fileToOpen)))
            .Throws <System.InvalidOperationException>();

            // Call the system under test
            var actual = m_systemUnderTest.Retrieve();
        }
示例#8
0
        public void SaveSessionToXmlFileButDialogIsCancelled()
        {
            // Prepare input
            ReggieSession session = new ReggieSession()
            {
                RegularExpressionPattern = "323", SampleText = "46346kljlk"
            };
            string fileToOpen = string.Empty;

            // Prepare mocks
            m_fileAdapter.Setup(fa => fa.OpenFileSaveDialogBox(It.Is <string>(x => x == "*.reggie"),
                                                               It.Is <string>(x => x == ("Reggie file (*.reggie)|*.reggie"))))
            .Returns(fileToOpen);

            // Call the system under test
            m_systemUnderTest.Save(session);

            // Evaluate output
            m_fileAdapter.Verify(fa => fa.OpenFileSaveDialogBox(It.IsAny <string>(), It.IsAny <string>()), Times.Once());
        }
示例#9
0
        public void SaveSessionToXmlFile()
        {
            // Prepare input
            ReggieSession session = new ReggieSession()
            {
                RegularExpressionPattern = "323", SampleText = "46346kljlk"
            };
            string fileToOpen = "c:\\this\\file.reggie";

            // Prepare mocks
            m_fileAdapter.Setup(fa => fa.OpenFileSaveDialogBox(It.Is <string>(x => x == "*.reggie"),
                                                               It.Is <string>(x => x == ("Reggie file (*.reggie)|*.reggie"))))
            .Returns(fileToOpen);
            m_fileAdapter.Setup(fa => fa.SerializeXmlFile <ReggieSession>(It.Is <ReggieSession[]>(x => object.ReferenceEquals(x[0], session)),
                                                                          It.Is <string>(x => x == fileToOpen)));

            // Call the system under test
            m_systemUnderTest.Save(session);

            // Evaluate output
            m_fileAdapter.Verify(fa => fa.OpenFileSaveDialogBox(It.IsAny <string>(), It.IsAny <string>()), Times.Once());
            m_fileAdapter.Verify(fa => fa.SerializeXmlFile <ReggieSession>(It.IsAny <ReggieSession[]>(),
                                                                           It.IsAny <string>()), Times.Once());
        }
示例#10
0
        public void OpenSessionLoadsSessionfromPersistenceService()
        {
            // Prepare Input
            string        sampleText = "Reggie";
            string        regularExpressionPattern = "^(Reggie)$";
            ReggieSession session = new ReggieSession()
            {
                RegularExpressionPattern = regularExpressionPattern,
                SampleText = sampleText
            };

            // Setup mocks
            m_persistence.Setup(p => p.Retrieve())
            .Returns(session);

            // Call the system udner test
            m_systemUnderTest.OpenSession();

            // Evalute results
            Assert.AreEqual(sampleText, m_systemUnderTest.SampleText, "SampleText");
            Assert.AreEqual(regularExpressionPattern, m_systemUnderTest.RegularExpressionPattern, "RegularExpressionPattern");

            // mock Verfiication unnecessary
        }