Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLakshmi Priya Sekar <lasekar@microsoft.com>2016-09-15 23:10:23 +0300
committerLakshmi Priya Sekar <lasekar@microsoft.com>2016-09-15 23:17:24 +0300
commite94e7a4b9a6150890cb812dabf2835c958b8289f (patch)
tree5856f528ea390079580d4bd29eff4a3d623f22e8 /src/System.ComponentModel.TypeConverter/tests
parent878080cb52f209ee00c330e32cc20e1281d3b54f (diff)
Add tests to System.Timers.Timer.
Diffstat (limited to 'src/System.ComponentModel.TypeConverter/tests')
-rw-r--r--src/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj4
-rw-r--r--src/System.ComponentModel.TypeConverter/tests/TimerTests.cs67
2 files changed, 68 insertions, 3 deletions
diff --git a/src/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj b/src/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj
index c972549468..cbe82eb548 100644
--- a/src/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj
+++ b/src/System.ComponentModel.TypeConverter/tests/System.ComponentModel.TypeConverter.Tests.csproj
@@ -61,7 +61,6 @@
<Compile Include="SByteConverterTests.cs" />
<Compile Include="SingleConverterTests.cs" />
<Compile Include="StringConverterTests.cs" />
- <Compile Include="TimerTests.cs" />
<Compile Include="TimeSpanConverterTests.cs" />
<Compile Include="TypeConverterAttributeTests.cs" />
<Compile Include="TypeConverterTests.cs" />
@@ -73,6 +72,9 @@
<Compile Include="UInt64ConverterTests.cs" />
<Compile Include="UriTypeConverterTests.cs" />
</ItemGroup>
+ <ItemGroup Condition="'$(TargetGroup)'=='netstandard1.7'">
+ <Compile Include="TimerTests.cs" />
+ </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\pkg\System.ComponentModel.TypeConverter.pkgproj">
</ProjectReference>
diff --git a/src/System.ComponentModel.TypeConverter/tests/TimerTests.cs b/src/System.ComponentModel.TypeConverter/tests/TimerTests.cs
index fbf2e0d8bc..3986718796 100644
--- a/src/System.ComponentModel.TypeConverter/tests/TimerTests.cs
+++ b/src/System.ComponentModel.TypeConverter/tests/TimerTests.cs
@@ -6,10 +6,73 @@ using Xunit;
using System.Threading;
using System.Timers;
+using TestTimer = System.Timers.Timer;
+
namespace System.Timers.Tests
{
- public class TimerTests
+ public class TimerTests : IDisposable
{
-
+ private TestTimer _timer;
+
+ [Theory]
+ [InlineData(0)]
+ [InlineData(-0.5D)]
+ [InlineData(-1)]
+ [InlineData(double.MinValue)]
+ [InlineData(double.MaxValue)]
+ public void NegativeTests(double interval)
+ {
+ Assert.Throws<ArgumentException>(() => { _timer = new TestTimer(interval); });
+ }
+
+ [Fact]
+ public void TestTimerStartAutoReset()
+ {
+ CountdownEvent cde = new CountdownEvent(1);
+ int result = 0;
+ _timer = new TestTimer(100);
+
+ // Test defaults.
+ Assert.Equal(100, _timer.Interval);
+ Assert.True(_timer.AutoReset);
+
+ _timer.AutoReset = false;
+ _timer.Elapsed += (sender, e) => { cde.Signal(); result = ++result; };
+ _timer.Start();
+
+ Assert.True(_timer.Enabled);
+ cde.Wait();
+
+ // Only elapsed once.
+ Assert.Equal(1, result);
+
+ cde = new CountdownEvent(10);
+ _timer.AutoReset = true;
+
+ cde.Wait();
+ cde.Dispose();
+
+ _timer.Stop();
+ // Atleast elapsed 10 times.
+ Assert.True(result >= 10);
+ }
+
+ [Theory]
+ [InlineData(int.MaxValue)]
+ [InlineData(0.5D)]
+ public void TestInterval(double interval)
+ {
+ _timer = new TestTimer(interval);
+ Assert.Equal(Math.Ceiling(interval), _timer.Interval);
+
+ _timer.Interval = interval;
+ Assert.Equal(interval, _timer.Interval);
+ }
+
+ public void Dispose()
+ {
+ if (_timer != null)
+ _timer.Close();
+ }
}
}