Beispiel #1
0
        public void FileVersion_OneStrategy_Correct()
        {
            var migrator = new FileMigrator(10, "somefile");

            migrator.AddVersionStrategy(new VersionStrategyThatsGood(8, 10));
            Assert.That(migrator.GetFileVersion(), Is.EqualTo(8));
        }
Beispiel #2
0
        public void FileVersion_TwoStragiesSort_UsesHigherStrategyFirst()
        {
            var migrator = new FileMigrator(10, "somefile");

            migrator.AddVersionStrategy(new VersionStrategyThatThrows(2));
            migrator.AddVersionStrategy(new VersionStrategyThatsGood(8, 10));
            Assert.That(migrator.GetFileVersion(), Is.EqualTo(8));
        }
Beispiel #3
0
        public void GetFileVersion_DataHasVersion_CorrectVersion()
        {
            using (var e = new EnvironmentForTest())
            {
                e.WriteTestFile(EnvironmentForTest.XmlVersion1);

                var migrator = new FileMigrator(7, e.TestFilePath);
                migrator.AddVersionStrategy(new XPathVersion(1, "/configuration/@version"));

                Assert.AreEqual(1, migrator.GetFileVersion(e.TestFilePath));
            }
        }
Beispiel #4
0
        public void GetFileVersion_FileHasNoVersionUsingDefaultStrategy_ReturnsZero()
        {
            using (var e = new EnvironmentForTest())
            {
                e.WriteTestFile(EnvironmentForTest.XmlNoVersion);

                var migrator = new FileMigrator(1, e.TestFilePath);
                migrator.AddVersionStrategy(new XPathVersion(1, "/configuration/@version"));
                migrator.AddVersionStrategy(new DefaultVersion(0, 0));

                Assert.AreEqual(0, migrator.GetFileVersion(e.TestFilePath));
            }
        }
Beispiel #5
0
        public void GetFileVersion_FileHasNoVersionAndNoDefaultStrategy_Throws()
        {
            using (var e = new EnvironmentForTest())
            {
                e.WriteTestFile(EnvironmentForTest.XmlNoVersion);

                var migrator = new FileMigrator(1, e.TestFilePath);
                migrator.AddVersionStrategy(new XPathVersion(1, "/configuration/@version"));

                Assert.Throws <ApplicationException>(
                    () => migrator.GetFileVersion(e.TestFilePath)
                    );
            }
        }