public async Task File_Id_providers_return_no_duplicates(Type type) { ITusFileIdProvider provider; if (type == typeof(TusGuidProvider)) { provider = new TusGuidProvider(); } else if (type == typeof(TusBase64IdProvider)) { provider = new TusBase64IdProvider(); } else { throw new ArgumentException("Invalid file id provider type", nameof(type)); } List <Task <string> > idTasks = new List <Task <string> >(); for (int i = 0; i < 1_000_000; i++) { var task = provider.CreateId(string.Empty); idTasks.Add(task); } var ids = (await Task.WhenAll(idTasks)).ToList(); // check for duplicates (ids.Count == ids.Distinct().Count()).ShouldBeTrue(); }
public async Task File_Id_providers_return_valid_file_ids(Type type) { ITusFileIdProvider provider; if (type == typeof(TusGuidProvider)) { provider = new TusGuidProvider(); } else if (type == typeof(TusBase64IdProvider)) { provider = new TusBase64IdProvider(); } else { throw new ArgumentException("Invalid file id provider type", nameof(type)); } var id = await provider.CreateId(string.Empty); id.ShouldNotBeNullOrWhiteSpace(); (await provider.ValidateId(id)).ShouldBeTrue(); (await provider.ValidateId("")).ShouldBeFalse(); }