public async Task Deleted_timer_can_reinitialize()
        {
            // Arrange
            bool callbackInvoked = false;
            var  autosave        = new Autosave <ComponentFixture>(
                new ComponentFixture(),
                () =>
            {
                callbackInvoked = true;
                return(Task.FromResult(0));
            });

            autosave.AutoSaveFrequency = 2;
            await autosave.Initialize();

            // Act
            await autosave.Delete();

            await autosave.Initialize();

            await Task.Delay(TimeSpan.FromSeconds(3));

            // Assert
            Assert.IsTrue(callbackInvoked, "Autosave did not invoke the callback");
        }
        public async Task Initializing_a_disposed_autosave_throws_exception()
        {
            // Arrange
            var autosave = new Autosave <ComponentFixture>(new ComponentFixture(), () => Task.FromResult(0));
            await autosave.Initialize();

            // Act
            autosave.Dispose();
            await autosave.Initialize();
        }
        public void Is_running_when_initialized()
        {
            // Arrange
            var autosave = new Autosave <ComponentFixture>(new ComponentFixture(), () => Task.FromResult(0));

            // Act
            autosave.Initialize();

            // Assert
            Assert.IsTrue(autosave.IsAutosaveRunning, "Autosave did not start running once initialized");
        }
Ejemplo n.º 4
0
        public void Is_running_when_initialized()
        {
            // Arrange
            var autosave = new Autosave<ComponentFixture>(new ComponentFixture(), () => Task.FromResult(0));

            // Act
            autosave.Initialize();

            // Assert
            Assert.IsTrue(autosave.IsAutosaveRunning, "Autosave did not start running once initialized");
        }
        public async Task Delete_autosave_stops_running()
        {
            // Arrange
            var autosave = new Autosave <ComponentFixture>(new ComponentFixture(), () => Task.FromResult(0));
            await autosave.Initialize();

            // Act
            await autosave.Delete();

            // Assert
            Assert.IsFalse(autosave.IsAutosaveRunning, "Autosave was not stopped when deleted.");
        }
Ejemplo n.º 6
0
        public async Task Frequency_disables_autosave()
        {
            // Arrange
            var autosave = new Autosave<object>(new object(), () => Task.FromResult(true));
            autosave.AutoSaveFrequency = 0;

            // Act
            await autosave.Initialize();

            // Assert
            Assert.IsFalse(autosave.IsAutosaveRunning, "Autosave is running");
        }
Ejemplo n.º 7
0
        public async Task Frequency_disables_autosave()
        {
            // Arrange
            var autosave = new Autosave <object>(new object(), () => Task.FromResult(true));

            autosave.AutoSaveFrequency = 0;

            // Act
            await autosave.Initialize();

            // Assert
            Assert.IsFalse(autosave.IsAutosaveRunning, "Autosave is running");
        }
Ejemplo n.º 8
0
        public async Task Frequency_enables_autosave()
        {
            // Arrange
            var autosave = new Autosave <object>(new object(), () => Task.FromResult(true));

            // We don't test that the callback happens at this frequency;
            // that is covered by the EngineTimer tests.
            autosave.AutoSaveFrequency = 1;

            // Act
            await autosave.Initialize();

            // Assert
            Assert.IsTrue(autosave.IsAutosaveRunning, "Autosave is not running");
        }
Ejemplo n.º 9
0
        public async Task Frequency_enables_autosave()
        {
            // Arrange
            var autosave = new Autosave<object>(new object(), () => Task.FromResult(true));

            // We don't test that the callback happens at this frequency; 
            // that is covered by the EngineTimer tests.
            autosave.AutoSaveFrequency = 1;

            // Act
            await autosave.Initialize();

            // Assert
            Assert.IsTrue(autosave.IsAutosaveRunning, "Autosave is not running");
        }
Ejemplo n.º 10
0
        public async Task Save_callback_invoked_when_running()
        {
            // Arrange
            bool callbackInvoked = false;
            var autosave = new Autosave<ComponentFixture>(
                new ComponentFixture(), 
                () =>
                {
                    callbackInvoked = true;
                    return Task.FromResult(0);
                });

            autosave.AutoSaveFrequency = 2;

            // Act
            await autosave.Initialize();
            await Task.Delay(TimeSpan.FromSeconds(3));
            
            // Assert
            Assert.IsTrue(callbackInvoked, "Autosave did not invoke the callback");
        }
Ejemplo n.º 11
0
        public async Task Initializing_a_disposed_autosave_throws_exception()
        {
            // Arrange
            var autosave = new Autosave<ComponentFixture>(new ComponentFixture(), () => Task.FromResult(0));
            await autosave.Initialize();

            // Act
            autosave.Dispose();
            await autosave.Initialize();
        }
Ejemplo n.º 12
0
        public async Task Delete_autosave_stops_running()
        {
            // Arrange
            var autosave = new Autosave<ComponentFixture>(new ComponentFixture(), () => Task.FromResult(0));
            await autosave.Initialize();

            // Act
            await autosave.Delete();

            // Assert
            Assert.IsFalse(autosave.IsAutosaveRunning, "Autosave was not stopped when deleted.");
        }