Ejemplo n.º 1
0
        public async Task Should_Poll_Until_File_Count_Matches()
        {
            async Task WriteGenFile1SDelayed()
            {
                await WriteFileDelayed(
                    $"./multiple/{Guid.NewGuid()}-file.txt",
                    TimeInt._1s);
            }

            using (Dir.Disposable("multiple"))
            {
                await Task.WhenAny(
                    Task.Delay(1),
                    WriteGenFile1SDelayed(),
                    WriteGenFile1SDelayed(),
                    WriteGenFile1SDelayed());

                var files =
                    await Poll.Target(() => Dir.Files("multiple"))
                    .UntilCount(3)
                    .Every(TimeSpans._1s)
                    .For(TimeSpans._5s)
                    .Error("Directory 'multiple' should have {0} files", 3);

                Assert.True(
                    files.Length == 3,
                    "Polled files result should have 3 files");
            }
        }