// ReSharper disable InconsistentNaming

        static void AssertVariable <T>(Func <T> func, string name)
        {
            var info = Reflect.Variable(func);

            Assert.AreSame(typeof(T), info.FieldType);
            Assert.AreEqual(name, info.Name);
        }
        public void Variable_Fails_On_Property()
        {
            var i = new
            {
                i = 1
            };

            Reflect.Variable(() => i.i);
        }
 public void Variable_Fails_On_Constant()
 {
     Reflect.Variable(() => 1);
 }
        static void TestGenericMethod <TModel>(IModel <TModel> model)
        {
            var name = Reflect.Variable(() => model).Name;

            Assert.AreEqual("model", name);
        }