add TimeoutAfterShould tests

This commit is contained in:
Collin M. Barrett 2018-10-15 10:15:13 -05:00
parent 86f5ac1a87
commit 33a880676b
3 changed files with 50 additions and 4 deletions

View file

@ -1,7 +1,4 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml"
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=6B3E6765_002D5B8B_002D4A23_002DAD12_002D7E2BC5F4D2E6_002Fd_003Awwwroot_002Fd_003Adist/@EntryIndexedValue">ExplicitlyExcluded</s:String>
<s:String x:Key="/Default/CodeInspection/GeneratedCode/GeneratedFileMasks/=_002A_002EDesigner_002Ecs/@EntryIndexedValue"></s:String>
<s:Boolean x:Key="/Default/CodeInspection/GeneratedCode/GeneratedFileMasks/=_002A_002EDesigner_002Ecs/@EntryIndexRemoved">True</s:Boolean>
@ -195,6 +192,10 @@
&lt;/Patterns&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpKeepExistingMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ECSharpPlaceEmbeddedOnSameLineMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAlwaysTreatStructAsNotReorderableMigration/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=appsettings/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Wayback/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Waybacks/@EntryIndexedValue">True</s:Boolean>

View file

@ -26,5 +26,21 @@ public void AddListOfStrings()
sut.AddRange(range);
Assert.True(!range.Except(sut).Any());
}
[Fact]
public void NotAddAnyItemsFromEmptyCollection()
{
range = new Collection<string>();
sut.AddRange(range);
Assert.Empty(sut);
}
[Fact]
public void NotAddAnyItemsFromEmptyList()
{
range = new List<string>();
sut.AddRange(range);
Assert.Empty(sut);
}
}
}

View file

@ -0,0 +1,29 @@
using System;
using System.Threading;
using FilterLists.Services.Extensions;
using Xunit;
namespace FilterLists.Services.Tests.Extensions.Task
{
public class TimeoutAfterShould
{
private readonly System.Threading.Tasks.Task sut =
System.Threading.Tasks.Task.Run(() => { Thread.Sleep(1000); });
[Fact]
public async void CompleteSuccessfullyIfTimeToCompleteIsLessThanTimeout()
{
var fifteenSecondTimeout = new TimeSpan(0, 0, 15);
await sut.TimeoutAfter(fifteenSecondTimeout);
Assert.True(sut.IsCompletedSuccessfully);
}
[Fact]
public async void ThrowTimeoutExceptionIfTimeToCompleteIsGreaterThanTimeout()
{
var oneTickTimeout = new TimeSpan(1);
await Assert.ThrowsAsync<TimeoutException>(() =>
sut.TimeoutAfter(oneTickTimeout));
}
}
}