public void HasIndexingState() { var originalMetaData = TestMetaData.CreateSingleFieldClass(); dynamic metaData = MetaClassInfo(originalMetaData); Assert.AreEqual("data (Index: Unknown)", metaData.SingleField.data); }
public void GetsTypeFromCurrentAssembly() { var dynamicType = TestMetaData.CreateSingleFieldClass(); var dynamicAssembly = CodeGenerator.Create(dynamicType, TestUtils.NewName()); var typeToFind = dynamicAssembly.Types[dynamicType.Single(t => t.IsBusinessEntity)]; var found = TypeLoader.Create(new string[0])(TypeNameParser.ParseString(ReflectPlatform.FullyQualifiedName(typeToFind))); Assert.AreEqual(typeToFind, found.Value); }
public void CanInstantiateClassWithSingleField() { var metaInfo = TestMetaData.CreateSingleFieldClass(); var type = ExtractSingleFieldType(metaInfo); Assert.IsTrue(type.Name.StartsWith(SingleFieldMeta(metaInfo).Name)); dynamic instance = CreateInstance(type); AssertFieldCanBeSet(instance, "newData"); }
public void HasFields() { var originalMetaData = TestMetaData.CreateSingleFieldClass(); dynamic metaData = MetaClassInfo(originalMetaData); object meta2 = metaData; Console.Out.WriteLine(meta2); Assert.IsNotNull(metaData.SingleField); Assert.IsNotNull(metaData.SingleField.data); }
private IEnumerable <ITypeDescription> SubClassType() { var baseClasses = TestMetaData.CreateSingleFieldClass(); var intType = KnownType.Create(typeof(int)); var baseClass = baseClasses.Single(b => !b.TryResolveType(TestUtils.FindNothingTypeResolver).HasValue); var subType = SimpleClassDescription.Create( TypeName.Create("ANamespace.SubClass", TestMetaData.AssemblyName), Maybe.From(baseClass), f => TestMetaData.CreateField("subField", intType)); return(baseClasses.Concat(new[] { intType, subType })); }
public void HasPublicGetterForLowerCaseBeginners() { var metaInfo = TestMetaData.CreateSingleFieldClass(); var type = ExtractSingleFieldType(metaInfo); Assert.IsTrue(type.Name.StartsWith(SingleFieldMeta(metaInfo).Name)); dynamic instance = CreateInstance(type); instance.Data = "newData"; Assert.AreEqual("newData", instance.Data); }