public void As_Extension() { DateTime expected = DateTime.Today; BespokeDateTime bespoke = new BespokeDateTime(expected); Assert.IsNotInstanceOfType(bespoke, typeof(IHasValue)); DateTime actual = (DateTime)bespoke.As <IHasValue>().Value; Assert.AreEqual(expected, actual); }
public void As() { DateTime expected = new DateTime(_random.Next(1900, 2000), _random.Next(1, 12), _random.Next(1, 28)); BespokeDateTime bespoke = new BespokeDateTime(expected); Assert.IsNotInstanceOfType(bespoke, typeof(IHasValue)); IHasValue duck = DuckType.As <IHasValue>(bespoke); Assert.IsInstanceOfType(duck, typeof(IHasValue)); Assert.AreEqual(expected, duck.Value); }
[Ignore] //Manual test public void Real_Loop() { foreach (object obj in GetObjects()) { BespokeDateTime bespokeDateTime = obj as BespokeDateTime; if (bespokeDateTime != null) { Assert.IsNotNull(bespokeDateTime.Value); } else { BespokeInt bespokeInt = (BespokeInt)obj; Assert.IsNotNull(bespokeInt.Value); } } }