示例#1
0
        public void GetValueWhenNullDefault()
        {
            var value = Get.ValueOrDefault(() => Fake.Next.Value);

            Assert.AreEqual(0, value);
            value = Get.ValueOrDefault(this, x => Fake.Next.Value);
            Assert.AreEqual(0, value);
        }
示例#2
0
        public void GetValueWhenNullExplicit()
        {
            var value = Get.ValueOrDefault(() => Fake.Next.Value, int.MinValue);

            Assert.AreEqual(int.MinValue, value);

            value = Get.ValueOrDefault(this, x => Fake.Next.Value, int.MinValue);
            Assert.AreEqual(int.MinValue, value);
        }
示例#3
0
        public void GetNameWhenNullExplicitDefaultValue()
        {
            var name = Get.ValueOrDefault(() => Fake.Next.Name, "null");

            Assert.AreEqual("null", name);

            name = Get.ValueOrDefault(this, x => Fake.Next.Name, "null");
            Assert.AreEqual("null", name);
        }
示例#4
0
        public void GetWithMethod()
        {
            var name = Get.ValueOrDefault(() => Fake.Method().Next.Method().Name);

            Assert.AreEqual(null, name);

            name = Get.ValueOrDefault(this, x => Fake.Method().Next.Method().Name);
            Assert.AreEqual(null, name);
        }
示例#5
0
        public void GetNameWhenNull()
        {
            var name = Get.ValueOrDefault(() => Fake.Next.Name);

            Assert.AreEqual(null, name);

            name = Get.ValueOrDefault(this, x => Fake.Next.Name);
            Assert.AreEqual(null, name);
        }
示例#6
0
        public void ValuePathWhenNullInPath()
        {
            Fake = new Fake();
            var path  = Get.ValuePath <ValuePathTests, string>(x => x.Fake.Next.Name);
            var value = path.GetValue(this);

            Assert.IsFalse(value.HasValue);
            // ReSharper disable once UnusedVariable
            Assert.Throws <InvalidOperationException>(() => { var temp = value.Value; });
        }
示例#7
0
        public void ValuePathWhenHasNullValue()
        {
            Fake = new Fake {
                Next = new Level {
                    Name = null
                }
            };
            var path  = Get.ValuePath <ValuePathTests, string>(x => x.Fake.Next.Name);
            var value = path.GetValue(this);

            Assert.IsTrue(value.HasValue);
            Assert.AreEqual(null, value.Value);
        }
示例#8
0
        public void GetNameWhenNotNull()
        {
            Fake = new Fake {
                Next = new Level {
                    Name = "Johan"
                }
            };
            var name = Get.ValueOrDefault(() => Fake.Next.Name);

            Assert.AreEqual("Johan", name);

            name = Get.ValueOrDefault(this, x => Fake.Next.Name);
            Assert.AreEqual("Johan", name);
        }