using NUnit.Framework; namespace DynamicExpresso.UnitTest { [TestFixture] public class DefaultOperatorTest { [Test] public void Default_value_type() { var target = new Interpreter(); Assert.That(target.Eval("default(bool)"), Is.EqualTo(default(bool))); Assert.That(target.Eval("default(char)"), Is.EqualTo(default(char))); Assert.That(target.Eval("default(sbyte)"), Is.EqualTo(default(sbyte))); Assert.That(target.Eval("default(byte)"), Is.EqualTo(default(byte))); Assert.That(target.Eval("default(short)"), Is.EqualTo(default(short))); Assert.That(target.Eval("default(ushort)"), Is.EqualTo(default(ushort))); Assert.That(target.Eval("default(int)"), Is.EqualTo(default(int))); Assert.That(target.Eval("default(uint)"), Is.EqualTo(default(uint))); Assert.That(target.Eval("default(long)"), Is.EqualTo(default(long))); Assert.That(target.Eval("default(ulong)"), Is.EqualTo(default(ulong))); Assert.That(target.Eval("default(float)"), Is.EqualTo(default(float))); Assert.That(target.Eval("default(double)"), Is.EqualTo(default(double))); Assert.That(target.Eval("default(decimal)"), Is.EqualTo(default(decimal))); Assert.That(target.Eval("default(DateTime)"), Is.EqualTo(default(System.DateTime))); Assert.That(target.Eval("default(TimeSpan)"), Is.EqualTo(default(System.TimeSpan))); Assert.That(target.Eval("default(Guid)"), Is.EqualTo(default(System.Guid))); Assert.That(target.Eval("default(bool)").GetType(), Is.EqualTo(typeof(bool))); Assert.That(target.Eval("default(char)").GetType(), Is.EqualTo(typeof(char))); Assert.That(target.Eval("default(sbyte)").GetType(), Is.EqualTo(typeof(sbyte))); Assert.That(target.Eval("default(byte)").GetType(), Is.EqualTo(typeof(byte))); Assert.That(target.Eval("default(short)").GetType(), Is.EqualTo(typeof(short))); Assert.That(target.Eval("default(ushort)").GetType(), Is.EqualTo(typeof(ushort))); Assert.That(target.Eval("default(int)").GetType(), Is.EqualTo(typeof(int))); Assert.That(target.Eval("default(uint)").GetType(), Is.EqualTo(typeof(uint))); Assert.That(target.Eval("default(long)").GetType(), Is.EqualTo(typeof(long))); Assert.That(target.Eval("default(ulong)").GetType(), Is.EqualTo(typeof(ulong))); Assert.That(target.Eval("default(float)").GetType(), Is.EqualTo(typeof(float))); Assert.That(target.Eval("default(double)").GetType(), Is.EqualTo(typeof(double))); Assert.That(target.Eval("default(decimal)").GetType(), Is.EqualTo(typeof(decimal))); Assert.That(target.Eval("default(DateTime)").GetType(), Is.EqualTo(typeof(System.DateTime))); Assert.That(target.Eval("default(TimeSpan)").GetType(), Is.EqualTo(typeof(System.TimeSpan))); Assert.That(target.Eval("default(Guid)").GetType(), Is.EqualTo(typeof(System.Guid))); } [Test] public void Default_reference_type() { var target = new Interpreter(); Assert.That(target.Eval("default(object)"), Is.EqualTo(default(object))); Assert.That(target.Eval("default(string)"), Is.EqualTo(default(string))); } [Test] public void Default_nullable_type() { var target = new Interpreter(); Assert.That(target.Eval("default(int?)"), Is.EqualTo(default(int?))); Assert.That(target.Eval("default(double?)"), Is.EqualTo(default(double?))); Assert.That(target.Eval("default(DateTime?)"), Is.EqualTo(default(System.DateTime?))); } } }