Exemple #1
0
        public void CanDiscardModifiedProject_Cancel_NotSavedAndReturnsFalse()
        {
            var windowManager = Substitute.For <IWindowManager>();
            var dialogs       = Substitute.For <IDialogs>();
            var fileSystem    = Substitute.For <IFileSystem>();
            var processApi    = Substitute.For <IProcess>();

            dialogs.ShowMessageBox(
                Arg.Any <string>(), Arg.Any <string>(),
                Arg.Any <MessageBoxButton>(), Arg.Any <MessageBoxImage>(),
                Arg.Any <MessageBoxResult>(), Arg.Any <MessageBoxOptions>())
            .Returns(MessageBoxResult.Cancel);
            var sut = new ProjectData(new Settings(), windowManager, dialogs, fileSystem, processApi);

            sut.Load(Samples.SampleProject);
            sut.IsModified = true;

            sut.CanDiscardModifiedProject().Should().BeFalse();

            dialogs.Received(1).ShowMessageBox(
                Arg.Any <string>(), Arg.Any <string>(),
                Arg.Any <MessageBoxButton>(), Arg.Any <MessageBoxImage>(),
                Arg.Any <MessageBoxResult>(), Arg.Any <MessageBoxOptions>());
            fileSystem.DidNotReceive().WriteAllTextIntoFile(Arg.Any <string>(), Arg.Any <string>());
        }