public async Task Setup() { SharedSetup(); _directoryMock = new Mock <ShareDirectoryClient>(); _input = new Mock <IPathFilter>(); ShareClient.Setup(s => s.GetRootDirectoryClient()) .Returns(_directoryMock.Object); _directories = new[] { new [] { FilesModelFactory.StorageFileItem(true, "Recurse1", 0) }, new [] { FilesModelFactory.StorageFileItem(true, "Recurse2", 0) }, new [] { FilesModelFactory.StorageFileItem(true, "Recurse3", 0) }, new [] { FilesModelFactory.StorageFileItem(true, "Recurse4", 0) }, new [] { FilesModelFactory.StorageFileItem(true, "Recurse5", 0) }, new [] { FilesModelFactory.StorageFileItem(true, "Collect1", 0), FilesModelFactory.StorageFileItem(true, "Collect2", 0) } }; var pathActionSequence = _input.SetupSequence(s => s.DecideAction(It.IsAny <string>())); var directoryContentsSequence = _directoryMock.SetupSequence(s => s.GetFilesAndDirectoriesAsync(It.IsAny <string>(), It.IsAny <CancellationToken>())); var pathSequence = _directoryMock.SetupSequence(s => s.Path); _directoryMock.Setup(s => s.GetSubdirectoryClient(It.IsAny <string>())).Returns(() => _directoryMock.Object); for (var i = 0; i < NumberOfDirectoriesInTree; i++) { var item = _directories[i]; directoryContentsSequence.Returns(() => MockPageable(item).Object); pathActionSequence.Returns(PathAction.Recurse); pathSequence.Returns(string.Join("/", _directories.SelectMany(s => s.Select(x => x.Name)).Take(i))); } pathSequence.Returns(string.Join("/", _directories.SelectMany(s => s.Select(x => x.Name)).Take(5))); for (var i = NumberOfDirectoriesInTree; i < _directories.Length; i++) { var items = _directories[i]; directoryContentsSequence.Returns(() => MockPageable(items).Object); foreach (var subItem in items) { pathActionSequence.Returns(PathAction.Collect); } } _output = await ClassInTest.ListAsync(_input.Object, CancellationToken.None).AsEnumerableAsync(); }
public async Task Setup() { SharedSetup(); _directoryMock = new Mock <ShareDirectoryClient>(); _input = new Mock <IPathFilter>(); ShareClient.Setup(s => s.GetRootDirectoryClient()) .Returns(_directoryMock.Object); var directoryContentsSequence = _directoryMock.SetupSequence(s => s.GetFilesAndDirectoriesAsync(It.IsAny <string>(), It.IsAny <CancellationToken>())); var pathSequence = _directoryMock.SetupSequence(s => s.Path); pathSequence.Returns(""); directoryContentsSequence.Returns(() => MockPageable(Enumerable.Empty <ShareFileItem>()).Object); _output = await ClassInTest.ListAsync(_input.Object, It.IsAny <CancellationToken>()).AsEnumerableAsync(); }
public void Exception_Is_Thrown() { Assert.That(() => ClassInTest.ListAsync(null, CancellationToken.None), Throws.ArgumentNullException.With.Property(nameof(ArgumentNullException.ParamName)).EqualTo("pathFilter")); }