| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 | // Licensed to the .NET Foundation under one or more agreements.// The .NET Foundation licenses this file to you under the MIT License.// See the LICENSE file in the project root for more information. using System;using System.Reactive;using Microsoft.VisualStudio.TestTools.UnitTesting;using Assert = Xunit.Assert;namespace ReactiveTests.Tests{    [TestClass]    public class TimeTests    {        [TestMethod]        public void TimeInterval_Ctor_Properties()        {            var ti = new TimeInterval<int>(42, TimeSpan.FromSeconds(123.45));            Assert.Equal(42, ti.Value);            Assert.Equal(TimeSpan.FromSeconds(123.45), ti.Interval);        }        [TestMethod]        public void TimeInterval_Equals()        {            var ti = new TimeInterval<int>(42, TimeSpan.FromSeconds(123.45));            Assert.False(ti.Equals("x"));            Assert.False(ti.Equals("x"));            Assert.True(ti.Equals(ti));            Assert.True(((object)ti).Equals(ti));            var t2 = new TimeInterval<int>(43, TimeSpan.FromSeconds(123.45));            Assert.False(ti.Equals(t2));            Assert.False(((object)ti).Equals(t2));            var t3 = new TimeInterval<int>(42, TimeSpan.FromSeconds(123.56));            Assert.False(ti.Equals(t3));            Assert.False(((object)ti).Equals(t3));            var t4 = new TimeInterval<int>(42, TimeSpan.FromSeconds(123.45));            Assert.True(ti.Equals(t4));            Assert.True(((object)ti).Equals(t4));        }        [TestMethod]        public void TimeInterval_GetHashCode()        {            var ti = new TimeInterval<string>(null, TimeSpan.FromSeconds(123.45));            Assert.True(ti.GetHashCode() != 0);            Assert.Equal(ti.GetHashCode(), ti.GetHashCode());            var t2 = new TimeInterval<string>("", TimeSpan.FromSeconds(123.45));            Assert.NotEqual(ti.GetHashCode(), t2.GetHashCode());        }        [TestMethod]        public void TimeInterval_EqualsOperators()        {            var ti = new TimeInterval<int>(42, TimeSpan.FromSeconds(123.45));            var t2 = new TimeInterval<int>(43, TimeSpan.FromSeconds(123.45));            Assert.False(ti == t2);            Assert.False(t2 == ti);            Assert.True(ti != t2);            Assert.True(t2 != ti);            var t3 = new TimeInterval<int>(42, TimeSpan.FromSeconds(123.56));            Assert.False(ti == t3);            Assert.False(t3 == ti);            Assert.True(ti != t3);            Assert.True(t3 != ti);            var t4 = new TimeInterval<int>(42, TimeSpan.FromSeconds(123.45));            Assert.True(ti == t4);            Assert.True(t4 == ti);            Assert.False(ti != t4);            Assert.False(t4 != ti);        }        [TestMethod]        public void TimeInterval_ToString()        {            var ti = new TimeInterval<int>(42, TimeSpan.FromSeconds(123.45));            Assert.True(ti.ToString().Contains(42.ToString()));            Assert.True(ti.ToString().Contains(TimeSpan.FromSeconds(123.45).ToString()));        }        [TestMethod]        public void Timestamped_Create()        {            var o = DateTimeOffset.UtcNow;            var ti = Timestamped.Create(42, o);            Assert.Equal(42, ti.Value);            Assert.Equal(o, ti.Timestamp);        }        [TestMethod]        public void Timestamped_Ctor_Properties()        {            var o = new DateTimeOffset();            var ti = new Timestamped<int>(42, o);            Assert.Equal(42, ti.Value);            Assert.Equal(o, ti.Timestamp);        }        [TestMethod]        public void Timestamped_Equals()        {            var ti = new Timestamped<int>(42, new DateTimeOffset());            Assert.False(ti.Equals("x"));            Assert.False(ti.Equals("x"));            Assert.True(ti.Equals(ti));            Assert.True(((object)ti).Equals(ti));            var t2 = new Timestamped<int>(43, new DateTimeOffset());            Assert.False(ti.Equals(t2));            Assert.False(((object)ti).Equals(t2));            var t3 = new Timestamped<int>(42, new DateTimeOffset().AddDays(1));            Assert.False(ti.Equals(t3));            Assert.False(((object)ti).Equals(t3));            var t4 = new Timestamped<int>(42, new DateTimeOffset());            Assert.True(ti.Equals(t4));            Assert.True(((object)ti).Equals(t4));        }        [TestMethod]        public void Timestamped_GetHashCode()        {            var ti = new Timestamped<string>(null, new DateTimeOffset());            Assert.True(ti.GetHashCode() != 0);            Assert.Equal(ti.GetHashCode(), ti.GetHashCode());            var t2 = new Timestamped<string>("", new DateTimeOffset());            Assert.NotEqual(ti.GetHashCode(), t2.GetHashCode());        }        [TestMethod]        public void Timestamped_EqualsOperators()        {            var o = new DateTimeOffset();            var ti = new Timestamped<int>(42, o);            var t2 = new Timestamped<int>(43, o);            Assert.False(ti == t2);            Assert.False(t2 == ti);            Assert.True(ti != t2);            Assert.True(t2 != ti);            var t3 = new Timestamped<int>(42, o.AddDays(1));            Assert.False(ti == t3);            Assert.False(t3 == ti);            Assert.True(ti != t3);            Assert.True(t3 != ti);            var t4 = new Timestamped<int>(42, o);            Assert.True(ti == t4);            Assert.True(t4 == ti);            Assert.False(ti != t4);            Assert.False(t4 != ti);        }        [TestMethod]        public void Timestamped_ToString()        {            var o = new DateTimeOffset();            var ti = new Timestamped<int>(42, o);            Assert.True(ti.ToString().Contains(42.ToString()));            Assert.True(ti.ToString().Contains(o.ToString()));        }    }}
 |