public void LoadByExtension_Should_Select_Loader_And_Load_Db() { var dbLoadResult = new DbLoadResult(null); A.CallTo(() => mLocator.Locate()).Returns("file.txt"); A.CallTo(() => mLoader.Load("file.txt")).Returns(dbLoadResult); var result = mUnderTest.LoadByExtension(); result.Should().Be(dbLoadResult); }
public DbLoadResult LoadByExtension() { var filename = mLocator.Locate(); if (filename == null) { return(new DbLoadResult(52354, "User refused to choose another file")); } var extension = Path.GetExtension(filename); var selectedLoader = mLoaders.FirstOrDefault(loader => loader.FileExtension == extension); if (selectedLoader == null) { return(new DbLoadResult(52355, "User has chosen file with wrong extension")); } return(selectedLoader.Load(filename)); }