public void WhenCreate_WithStreamEncodingAndBufferSize_ReturnsWrappedStreamWriter() { // Arrange var factory = new StreamWriterFactory(); var memoryStream = new MemoryStreamWrap(); // Act var result = factory.Create(memoryStream, Encoding.UTF8, 123); // Assert Assert.NotNull(result); Assert.NotNull(result.StreamWriterInstance); Assert.AreEqual(memoryStream.StreamInstance, result.BaseStream); }
public void Create_ValidParameters_ReturnsWrappedStream() { // Arrange var factory = new DeflateStreamFactory(); var memoryStream = new MemoryStreamWrap(); var compressionMode = CompressionMode.Compress; // Act var result = factory.Create(memoryStream, compressionMode); // Assert Assert.NotNull(result); Assert.NotNull(result.DeflateStreamInstance); }
public void Create_WithStreamModeAndEncoding_ReturnsWrappedZipArchive() { // Arrange var factory = new ZipArchiveFactory(); var memoryStream = new MemoryStreamWrap(); var mode = ZipArchiveMode.Create; // Act var result = factory.Create(memoryStream, mode, false, Encoding.UTF8); // Assert Assert.NotNull(result); Assert.NotNull(result.Instance); Assert.AreEqual(ZipArchiveMode.Create, result.Mode); }
private Mock <IFileSystemFacade> CreateMockFileSystem() { // Set up basic file system operations Mock <IFileSystemFacade> mock = new Mock <IFileSystemFacade>(MockBehavior.Strict); mock.Setup(x => x.CreateDirectoryIfNotExists(It.IsAny <string>())).Callback(() => {}); mock.Setup(x => x.FileExists(It.IsAny <string>())).Returns((string filePath) => _mockFileTable.ContainsKey(filePath)); // Create a mock folder for the mock files mock.Setup(x => x.GetFilesInDirectory(It.IsAny <string>())).Returns( delegate { return(_mockFileTable.Values.Select(x => x.Item1.Object)); }); // Set up the IO operations for the mock files so it mimics the real thing mock.Setup(x => x.CreateTextFile(It.IsAny <string>(), It.IsAny <string>())).Callback( delegate(string fileName, string fileContents) { CreateOrUpdateMockFile(fileName, fileContents); }); mock.Setup(x => x.AppendToTextFile(It.IsAny <string>(), It.IsAny <string>())).Callback( delegate(string fileName, string fileContents) { AppendToMockFile(fileName, fileContents); }); mock.Setup(x => x.ReadTextFile(It.IsAny <string>())).Returns( delegate(string fileName) { return(_mockFileTable[fileName].Item2); }); mock.Setup(x => x.DeleteFileIfExists(It.IsAny <string>())).Callback( delegate(string x) { if (_mockFileTable.ContainsKey(x)) { _mockFileTable.Remove(x); } }); mock.Setup(x => x.GetDirectoryFullPath(It.IsAny <string>())).Returns( (string filePath) => { var lastSlashPos = filePath.LastIndexOf("\\", StringComparison.Ordinal); var lastSegment = filePath.Substring(lastSlashPos, filePath.Length - lastSlashPos); return(lastSegment.LastIndexOf(".", StringComparison.Ordinal) > 0 ? filePath.Substring(0, lastSlashPos) : filePath); }); mock.Setup(x => x.DirectoryExists(It.IsAny <string>())).Returns( (string directoryPath) => _mockFileTable.ContainsKey(directoryPath)); mock.Setup(x => x.CreateFileFromStream(It.IsAny <IStreamReader>(), It.IsAny <string>())).Callback( (IStreamReader streamReaderWrap, string filePath) => { if (streamReaderWrap == null || streamReaderWrap.BaseStream == null || streamReaderWrap.BaseStream.Length <= 0) { return; } using (var memoryStreamWrap = new MemoryStreamWrap()) { memoryStreamWrap.CopyFromStream(streamReaderWrap.BaseStream); CreateOrUpdateMockFile(filePath, Convert.ToBase64String(memoryStreamWrap.ToArray())); } }); return(mock); }