// Copyright (C) Stichting Deltares 2023. All rights reserved. // // This file is part of the application DAM - UI. // // DAM - UI is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using System; using System.IO; using Deltares.Maps; using NUnit.Framework; namespace Deltares.Dam.Tests { [TestFixture] public class GeometryFileTest { private string existingFile; #region Setup [SetUp] public void FixtureSetup() { existingFile = Guid.NewGuid() + ".tst"; using (var f = File.CreateText(existingFile)) { } } [TearDown] public void FixtureTearDown() { File.Delete(existingFile); } [SetUp] public void TestSetup() { } [TearDown] public void TestTearDown() { } #endregion #region Mock private class MockFile : FileLocation { private const string Extension = ".tst"; public MockFile(string fileLocation, string fileName) : base(fileLocation, fileName, Extension) { } public MockFile(string fileName) : base(fileName, Extension) { } } #endregion [Test] public void FileAcceptsEmptyLocation() { var file = new MockFile("", "test.tst"); } [Test] public void FileReturnsValidFullPath() { const string fileName = "test.tst"; var file = new MockFile("", fileName); var expected = Path.Combine(Directory.GetCurrentDirectory(), fileName); Assert.AreEqual(expected, file.FullPath); file = new MockFile(fileName); Assert.AreEqual(expected, file.FullPath); } [Test] public void FileReturnsTheFileNameWithoutExtension() { var file = new MockFile(string.Empty, "test.tst"); Assert.AreEqual("test", file.NameWithoutExtension); } [Test] public void FileReturnsOnlyTheLocation() { var file = new MockFile("", "test.tst"); Assert.AreEqual(Directory.GetCurrentDirectory(), file.DirectoryName); } [Test] public void FileReturnsOnlyTheExtension() { var file = new MockFile(string.Empty, "test.tst"); Assert.AreEqual(".tst", file.FileExtension); } [Test] public void FileReturnsOnlyTheName() { var file = new MockFile("", "test.tst"); Assert.AreEqual("test.tst", file.FileName); file = new MockFile("test.tst"); Assert.AreEqual("test.tst", file.FileName); } [Test] public void FileReturnsFalseIfNotExists() { var file = new MockFile(string.Empty, "test.tst"); Assert.IsFalse(file.Exists); file = new MockFile("test.tst"); Assert.IsFalse(file.Exists); } [Test] public void FileReturnsTrueIfFileExists() { var file = new MockFile(existingFile); Assert.IsTrue(file.Exists); } [Test] public void FileReturnsCorrectFullPathOnExistingFile() { string location = Directory.GetCurrentDirectory(); var file = new MockFile(location, existingFile); Assert.AreEqual(location + "\\" + existingFile, file.FullPath); } [Test] public void FileReturnsCorrectFullPathOnExistingFileUsingToString() { string location = Directory.GetCurrentDirectory(); var file = new MockFile(location, existingFile); Assert.AreEqual(location + "\\" + existingFile, file.ToString()); } [Test] public void FileReturnsIsValidReturnsTrueOnExistingFile() { string location = Directory.GetCurrentDirectory(); var file = new MockFile(location, existingFile); Assert.IsTrue(file.IsValid); } } }