public void op_Act_whenSourceMissing()
        {
            using (var temp = new TempDirectory())
            {
                var source      = temp.Info.ToFile("from.txt");
                var destination = temp.Info.ToFile("to.txt");

                var obj = new FileMoveCommand(source, destination);

                Assert.Throws <FileNotFoundException>(() => obj.Act());
            }
        }
        public void op_Act_whenDestinationAlreadyExists()
        {
            using (var temp = new TempDirectory())
            {
                var source = temp.Info.ToFile("from.txt");
                source.CreateNew();
                var destination = temp.Info.ToFile("to.txt");
                destination.CreateNew();

                var obj = new FileMoveCommand(source, destination);

                Assert.Throws <IOException>(() => obj.Act());
            }
        }
        public void serialize_whenPathNull()
        {
            var obj = new FileMoveCommand();

            var navigator = obj.XmlSerialize().CreateNavigator();

            if (null == navigator.NameTable)
            {
                Assert.NotNull(navigator.NameTable);
            }
            else
            {
                Assert.True(navigator.Evaluate <bool>(@"1 = count(/file.move[not(@source)][not(@destination)])"));
            }
        }
        public void op_Revert_whenUnidirectional()
        {
            using (var temp = new TempDirectory())
            {
                var source = temp.Info.ToFile("from.txt");
                source.CreateNew("example");
                var destination = temp.Info.ToFile("to.txt");

                var obj = new FileMoveCommand(source, destination, true);

                Assert.True(obj.Act());
                Assert.False(obj.Undo);

                Assert.True(obj.Revert());
                Assert.Equal("example", destination.ReadToEnd());
            }
        }
        public void serialize()
        {
            var obj = new FileMoveCommand
            {
                Source      = @"C:\from.txt",
                Destination = @"C:\to.txt",
                Undo        = true
            };

            var navigator = obj.XmlSerialize().CreateNavigator();

            if (null == navigator.NameTable)
            {
                Assert.NotNull(navigator.NameTable);
            }
            else
            {
                Assert.True(navigator.Evaluate <bool>(@"1 = count(/file.move[@source='C:\from.txt'][@destination='C:\to.txt'][@undo='true'][@unidirectional='false'])"));
            }
        }
        public void op_Revert()
        {
            using (var temp = new TempDirectory())
            {
                var source = temp.Info.ToFile("from.txt");
                source.CreateNew("example");
                var destination = temp.Info.ToFile("to.txt");

                var obj = new FileMoveCommand(source, destination);

                Assert.True(obj.Act());
                source.Refresh();
                Assert.False(source.Exists);
                Assert.True(destination.Exists);

                Assert.True(obj.Revert());
                source.Refresh();
                Assert.True(source.Exists);
                destination.Refresh();
                Assert.False(destination.Exists);
            }
        }
示例#7
0
        public void serialize_whenPathNull()
        {
            var obj = new FileMoveCommand();

            var navigator = obj.XmlSerialize().CreateNavigator();

            if (null == navigator.NameTable)
            {
                Assert.NotNull(navigator.NameTable);
            }
            else
            {
                Assert.True(navigator.Evaluate<bool>(@"1 = count(/file.move[not(@source)][not(@destination)])"));
            }
        }
示例#8
0
        public void serialize()
        {
            var obj = new FileMoveCommand
                          {
                              Source = @"C:\from.txt",
                              Destination = @"C:\to.txt",
                              Undo = true
                          };

            var navigator = obj.XmlSerialize().CreateNavigator();

            if (null == navigator.NameTable)
            {
                Assert.NotNull(navigator.NameTable);
            }
            else
            {
                Assert.True(navigator.Evaluate<bool>(@"1 = count(/file.move[@source='C:\from.txt'][@destination='C:\to.txt'][@undo='true'][@unidirectional='false'])"));
            }
        }
示例#9
0
        public void op_Revert_whenUnidirectional()
        {
            using (var temp = new TempDirectory())
            {
                var source = temp.Info.ToFile("from.txt");
                source.CreateNew("example");
                var destination = temp.Info.ToFile("to.txt");

                var obj = new FileMoveCommand(source, destination, true);

                Assert.True(obj.Act());
                Assert.False(obj.Undo);

                Assert.True(obj.Revert());
                Assert.Equal("example", destination.ReadToEnd());
            }
        }
示例#10
0
        public void op_Revert()
        {
            using (var temp = new TempDirectory())
            {
                var source = temp.Info.ToFile("from.txt");
                source.CreateNew("example");
                var destination = temp.Info.ToFile("to.txt");

                var obj = new FileMoveCommand(source, destination);

                Assert.True(obj.Act());
                source.Refresh();
                Assert.False(source.Exists);
                Assert.True(destination.Exists);

                Assert.True(obj.Revert());
                source.Refresh();
                Assert.True(source.Exists);
                destination.Refresh();
                Assert.False(destination.Exists);
            }
        }
示例#11
0
        public void op_Act_whenSourceMissing()
        {
            using (var temp = new TempDirectory())
            {
                var source = temp.Info.ToFile("from.txt");
                var destination = temp.Info.ToFile("to.txt");

                var obj = new FileMoveCommand(source, destination);

                Assert.Throws<FileNotFoundException>(() => obj.Act());
            }
        }
示例#12
0
        public void op_Act_whenDestinationAlreadyExists()
        {
            using (var temp = new TempDirectory())
            {
                var source = temp.Info.ToFile("from.txt");
                source.CreateNew();
                var destination = temp.Info.ToFile("to.txt");
                destination.CreateNew();

                var obj = new FileMoveCommand(source, destination);

                Assert.Throws<IOException>(() => obj.Act());
            }
        }