#region License // Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved. // This source code is made available under the terms of the GNU Lesser General Public License v3.0 // https://github.com/paulkohler/minisqlquery/blob/master/LICENSE #endregion using MiniSqlQuery.Core; using NUnit.Framework; // ReSharper disable InconsistentNaming namespace MiniSqlQuery.Tests.MRU { [TestFixture] public class MostRecentFilesService_Tests { private MostRecentFilesService _service; [Test] public void List_does_not_exceed_maximum_entries() { // set up the max entries int i = 1; for (; i <= _service.MaxCommands; i++) { _service.Register(i.ToString()); } // add 1 extra i++; _service.Register(i.ToString()); Assert.That(_service.Filenames.Count, Is.EqualTo(_service.MaxCommands)); } [Test] public void No_filenames_at_start() { Assert.That(_service.Filenames.Count, Is.EqualTo(0)); } [Test] public void Register_adds_new_files() { _service.Register("1"); _service.Register("2"); Assert.That(_service.Filenames.Count, Is.EqualTo(2)); } [Test] public void Register_adds_only_new_files() { _service.Register("1"); _service.Register("2"); _service.Register("2"); _service.Register("2"); Assert.That(_service.Filenames.Count, Is.EqualTo(2)); } [Test] public void Register_takes_off_relevent_file() { _service.Register("1"); _service.Register("2"); _service.Register("3"); Assert.That(_service.Filenames.Count, Is.EqualTo(3)); _service.Remove("2"); Assert.That(_service.Filenames.Count, Is.EqualTo(2)); Assert.That(_service.Filenames[0], Is.EqualTo("3")); Assert.That(_service.Filenames[1], Is.EqualTo("1")); } [SetUp] public void TestSetUp() { _service = new MostRecentFilesService(); } } }