Esempio n. 1
0
        public void PropertiesSetOnObjectDescriptor()
        {
            const int    Id   = 1;
            const string Name = "name";

            var idGeneratorMock = new Mock <IIdGenerator>();

            idGeneratorMock.Setup(_ => _.GetNextId()).Returns(Id);
            var propertyAnalyzer            = Mock.Of <IPropertyAnalyzer>();
            var propertyAnalyzerMock        = Mock.Get(propertyAnalyzer);
            List <PropertyDescriptor> value = new List <PropertyDescriptor>()
            {
                PropertyDescriptor.Create().WithId(1).Get()
            };

            propertyAnalyzerMock.Setup(_ => _.AnalyzeProperties(typeof(SimpleClassWithPrimitiveProperties),
                                                                It.IsAny <SimpleClassWithPrimitiveProperties>(), true)).Returns(value);

            var objectAnalyzer = new ObjectAnalyzer(idGeneratorMock.Object, propertyAnalyzer, Mock.Of <IMethodAnalyzer>());
            var descriptor     = objectAnalyzer.AnalyzeObject(new SimpleClassWithPrimitiveProperties("str"), new AnalyzeOptions()
            {
                Name = "name",
                AnalyzeProperties     = true,
                ExtractPropertyValues = true
            });

            Assert.Collection(descriptor.Properties, m => Assert.True(m.Key == 1 && m.Value.Id == 1));
        }
Esempio n. 2
0
        public void MethodsSetOnObjectDescriptor()
        {
            const int    Id   = 1;
            const string Name = "name";

            var idGeneratorMock = new Mock <IIdGenerator>();

            idGeneratorMock.Setup(_ => _.GetNextId()).Returns(Id);
            var methodAnalyzer            = Mock.Of <IMethodAnalyzer>();
            var methodAnalyzerMock        = Mock.Get(methodAnalyzer);
            List <MethodDescriptor> value = new List <MethodDescriptor>()
            {
                MethodDescriptor.Create().WithId(1).Get()
            };

            methodAnalyzerMock.Setup(_ => _.AnalyzeMethods(It.IsAny <Type>())).Returns(value);

            var objectAnalyzer = new ObjectAnalyzer(idGeneratorMock.Object, Mock.Of <IPropertyAnalyzer>(), methodAnalyzer);
            var descriptor     = objectAnalyzer.AnalyzeObject(new SimpleClass(), new AnalyzeOptions()
            {
                Name = Name
            });

            Assert.Collection(descriptor.Methods, m => Assert.True(m.Key == 1 && m.Value.Id == 1));
        }
Esempio n. 3
0
 /// <summary>
 /// Serializes <see cref="object"/> to <see cref="JSONEntity"/>.
 /// </summary>
 /// <param name="obj">The <see cref="object"/> to be serialized.</param>
 /// <returns>The <see cref="JSONEntity"/> serialized.</returns>
 public static JSONEntity Serialize(object obj)
 {
     if (obj is JSONEntity)
     {
         return(obj as JSONEntity);
     }
     return(ObjectAnalyzer.Analyze(obj));
 }
Esempio n. 4
0
        public void IdSetOnObjectDescriptor()
        {
            const int Id = 1;

            var idGeneratorMock = new Mock <IIdGenerator>();

            idGeneratorMock.Setup(_ => _.GetNextId()).Returns(Id);
            var objectAnalyzer = new ObjectAnalyzer(idGeneratorMock.Object, Mock.Of <IPropertyAnalyzer>(), Mock.Of <IMethodAnalyzer>());
            var descriptor     = objectAnalyzer.AnalyzeObject(new SimpleClass(), new AnalyzeOptions()
            {
                Name = "name"
            });

            Assert.True(descriptor.Id == Id);
        }
Esempio n. 5
0
        public void ObjectSetOnObjectDescriptor()
        {
            const int    Id   = 1;
            const string Name = "name";

            var idGeneratorMock = new Mock <IIdGenerator>();

            idGeneratorMock.Setup(_ => _.GetNextId()).Returns(Id);
            var objectAnalyzer = new ObjectAnalyzer(idGeneratorMock.Object, Mock.Of <IPropertyAnalyzer>(), Mock.Of <IMethodAnalyzer>());
            var o          = new SimpleClass();
            var descriptor = objectAnalyzer.AnalyzeObject(o, new AnalyzeOptions()
            {
                Name = Name
            });

            Assert.Same(o, descriptor.Object);
        }
Esempio n. 6
0
 public BindingRepository(IIdGenerator idGenerator)
 {
     objectAnalyzer = new ObjectAnalyzer(idGenerator,
                                         new PropertyAnalyzer(idGenerator, new CamelCaseNameGenerator()),
                                         new MethodAnalyzer(idGenerator, new CamelCaseNameGenerator()));
 }