Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

49 lines
1.1 KiB
C#

//
// StopwatchTest.cs
//
// Author:
// Atsushi Enomoto <atsushi@ximian.com>
//
// Copyright (C) 2006 Novell, Inc.
//
using System;
using System.Diagnostics;
using System.Threading;
using NUnit.Framework;
namespace MonoTests.System.Diagnostics
{
[TestFixture]
public class StopwatchTest
{
[Test]
public void TestSimple ()
{
// It starts at started state.
Stopwatch sw = Stopwatch.StartNew ();
Thread.Sleep (1000);
sw.Stop ();
long ticks = sw.ElapsedTicks;
Assert.IsTrue (sw.ElapsedMilliseconds > 100, "#1");
Thread.Sleep (1000);
// do not increment resuts
Assert.AreEqual (ticks, sw.ElapsedTicks, "#2");
sw.Start ();
Thread.Sleep (1000);
// increment results
Assert.IsTrue (sw.ElapsedTicks > ticks, "#3");
ticks = sw.ElapsedTicks;
sw.Stop ();
Assert.IsTrue (sw.ElapsedTicks >= ticks, "#4");
sw.Reset ();
Assert.AreEqual (0, sw.ElapsedTicks, "#5");
sw.Start ();
Thread.Sleep (1000);
Assert.IsTrue (sw.ElapsedTicks > 100, "#5");
// This test is not strict but would mostly work.
Assert.IsTrue (ticks > sw.ElapsedTicks, "#6");
sw.Stop ();
}
}
}