public void TestClassMetadata() { MethodInfo method = typeof(ClassMetadataDescribable).GetMethod("GetName"); var builder = new ClassMetadataBuilder <ClassMetadataDescribable>(); ITypeMetadata <ClassMetadataDescribable> tmd = builder.SetClass(typeof(ClassMetadataDescribable)) .SetHash("TestDomain".GetHashCode()) .SetTypeId(1234) .AddAttribute(builder.NewAttribute() .SetIndex(0) .SetName("name") .SetCodec(Codecs.DEFAULT_CODEC) .SetInvocationStrategy(new InvocationStrategies.MethodInvcationStrategy <ClassMetadataDescribable>(method)) .SetVersion(0).Build()).Build(); ITypeMetadata <ClassMetadataDescribable> tmd2 = builder.SetClass(typeof(ClassMetadataDescribable)) .SetHash("TestDomain".GetHashCode()) .SetTypeId(1234) .AddAttribute(builder.NewAttribute() .SetIndex(0) .SetName("name") .SetCodec(Codecs.DEFAULT_CODEC) .SetInvocationStrategy(new InvocationStrategies.MethodInvcationStrategy <ClassMetadataDescribable>(method)) .SetVersion(0).Build()).Build(); Assert.AreEqual(1234, tmd.GetKey().GetTypeId()); Assert.IsTrue(tmd.GetKey().GetHash() != 0); Assert.IsNotNull(tmd.GetAttribute("name")); Assert.AreEqual("name", tmd.GetAttribute("name").GetName()); Assert.AreEqual(0, tmd.GetAttribute("name").GetIndex()); Assert.AreEqual(0, tmd.GetAttribute("name").GetVersion()); Assert.AreEqual(tmd, tmd2); Assert.AreEqual(tmd.GetHashCode(), tmd2.GetHashCode()); ClassMetadataDescribable cmdd = new ClassMetadataDescribable("augusta"); Assert.AreEqual("augusta", tmd.GetAttribute("name").Get(cmdd)); tmd.GetAttribute("name").Set(cmdd, "ada"); Assert.AreEqual("ada", tmd.GetAttribute("name").Get(cmdd)); Assert.IsInstanceOf(typeof(Codecs.DefaultCodec), tmd.GetAttribute("name").GetCodec()); Assert.IsTrue(tmd.GetAttributes().MoveNext()); Assert.IsInstanceOf(typeof(ClassMetadataDescribable), tmd.NewInstance()); object a = (object)"dasd"; }
public void Builder() { var builder = new ClassMetadataBuilder <object>(); ITypeMetadata <object> tmd = builder.SetClass(typeof(object)) .SetHash("TestDomain".GetHashCode()) .SetTypeId(1234) .AddAttribute(builder.NewAttribute() .SetIndex(0) .SetName("normal") .SetVersion(0).Build()).Build(); Assert.AreEqual(1234, tmd.GetKey().GetTypeId()); Assert.IsTrue(tmd.GetKey().GetHash() != 0); Assert.IsNotNull(tmd.GetAttribute("normal")); Assert.AreEqual("normal", tmd.GetAttribute("normal").GetName()); Assert.AreEqual(0, tmd.GetAttribute("normal").GetIndex()); Assert.AreEqual(0, tmd.GetAttribute("normal").GetVersion()); }