Пример #1
0
        public void DirectObjectBinding()
        {
            Func <Expression, MemberAssignment[]> objectAssigments = (param) =>
                                                                     new MemberAssignment[]
            {
                param.DirectBind <ObjectC>("Name")
            };

            MemberAssignment[] assignments = new MemberAssignment[]
            {
                sourceParam.ObjectBind <ObjectB, ObjectA, ObjectC>("Object", objectAssigments)
            };

            ObjectB obj = listOfObjectA.Select(Expression.Lambda <Func <ObjectA, ObjectB> >(
                                                   Expression.MemberInit(Expression.New(typeof(ObjectB)), assignments)
                                                   , sourceParam).Compile()).FirstOrDefault();

            Assert.AreEqual("Object", obj.Object.Name);

            // Verify if the parent object lacks the property we get an exception
            Assert.ThrowsException <Exception>(() =>
            {
                sourceParam.ObjectBind <ObjectB, ObjectA, ObjectC>("Apples", objectAssigments);
            }
                                               );
        }
 public ObjectA()
 {
     RegisterChild(B = new ObjectB {
         MemberName = "B"
     });
     B.TreeChanged += If_ObjectC_Changed_Then_Change_ObjectB;
 }
Пример #3
0
        static void Main(string[] args)
        {
            var b = new ObjectB();
            var a = new ObjectA(b);

            a.DoStuff();
        }
Пример #4
0
            public static ObjectB CreateObjectB(string key, ObjectA a, ObjectB b)
            {
                ObjectB newB = new ObjectB();

                newB.Count    = b.Count + 1;
                newB.LastDate = a.Date;
                return(newB);
            }
    public static void Main(string[] args)
    {
        IObject objA = new ObjectA();
        IObject objB = new ObjectB();

        Console.WriteLine(DoCalc(objA));
        Console.WriteLine(DoCalc(objB));
    }
Пример #6
0
        public void DoStuff()
        {
            // do some stuff

            // i need a ObjectB in order to do stuff, so i'll create one.
            var b = new ObjectB();

            b.DoStuff();

            // do some more stuff
        }
 public void Setup()
 {
     injector = new RobotlegsInjector();
     injector.Map(typeof(RobotlegsInjector)).ToValue(injector);
     viewProcessorMap   = new ViewProcessorMap(new ViewProcessorFactory(injector));
     trackingProcessor  = new TrackingProcessor();
     trackingProcessor2 = new TrackingProcessor();
     matchingView       = new SupportView();
     nonMatchingView    = new ObjectB();
     guardObject        = new GuardObject();
     matchingView2      = new SupportViewWithWidthAndHeight();
 }
		public void Setup()
		{
			injector = new RobotlegsInjector();
			injector.Map(typeof(RobotlegsInjector)).ToValue(injector);
			viewProcessorMap = new ViewProcessorMap(new ViewProcessorFactory(injector));
			trackingProcessor = new TrackingProcessor();
			trackingProcessor2 = new TrackingProcessor();
			matchingView = new SupportView();
			nonMatchingView = new ObjectB();
			guardObject = new GuardObject();
			matchingView2 = new SupportViewWithWidthAndHeight();
		}
Пример #9
0
        public void DirectSubLevelBinding()
        {
            MemberAssignment[] assignments = new MemberAssignment[]
            {
                sourceParam.DirectBind <ObjectB>("Id", "SubLevel", "Id")
            };

            ObjectB obj = listOfObjectA.Select(Expression.Lambda <Func <ObjectA, ObjectB> >(
                                                   Expression.MemberInit(Expression.New(typeof(ObjectB)), assignments)
                                                   , sourceParam).Compile()).FirstOrDefault();

            Assert.AreEqual(33, obj.Id);
        }
Пример #10
0
    public static void Main()
    {
        // You may get this instance from anywhere
        Object o = new ObjectB();

        if (o is ObjectB)
        {
            DoSomething((ObjectB)o);
        }
        else if (o is ObjectC)
        {
            DoSomething((ObjectC)o);
        }
    }
Пример #11
0
        public void DirectBindingTest()
        {
            // Map ObjectA to ObjectB with a direct bind to Id
            Func <Expression, MemberAssignment[]> assignments = sourceParam =>
            {
                return(new MemberAssignment[]
                {
                    sourceParam.DirectBind <ObjectB>("Id")
                });
            };

            ObjectB obj = listOfObjectA.Select(assignments.Model <ObjectA, ObjectB>().Compile()).FirstOrDefault();

            Assert.AreEqual(15, obj.Id);
        }
Пример #12
0
    public void RunTests()
    {
        ObjectA   a = new ObjectA();
        ObjectB   b = new ObjectB();
        IContract c = new ObjectA();
        IContract d = new ObjectB();

        Test1(a);
        Test1(b);         // Won't compile

        Test2(b);
        Test2(a);         // Won't compile

        // Test3 can handle either concretion
        Test3(c);
        Test3(d);
    }
Пример #13
0
        public void DirectModelBind()
        {
            // Verify the models map
            ObjectA objA = listOfObjectA.FirstOrDefault();
            ObjectB objB = listOfObjectA.Select(modelLINQ.ModelExtension.AsModel <ObjectA, ObjectB>()).FirstOrDefault();

            Assert.AreEqual(objA.Id, objB.Id);

            // Verify the member assignments
            MemberAssignment[] assignments = Expression.Parameter(typeof(ObjectA)).DirectBind <ObjectB>();

            Assert.AreEqual(2, assignments.Count());

            // Verify we can generate objectb from objecta
            ObjectB generatedModel = objA.GenerateModel <ObjectA, ObjectB>();

            Assert.AreEqual(objA.Id, generatedModel.Id);
        }
Пример #14
0
    void FixedUpdate()
    {
        //Get every object
        GameObject[] Objects = GameObject.FindGameObjectsWithTag("Planet");

        //the gravity between each couple of object is calculated
        foreach (GameObject ObjectA in Objects)
        {
            foreach (GameObject ObjectB in Objects)
            {
                //Objects must not self interact
                if (ObjectA == ObjectB)
                {
                    continue;
                }

                ApplyGravity(ObjectA.GetComponent <Rigidbody> (), ObjectB.GetComponent <Rigidbody> ());
            }
        }
    }
Пример #15
0
        public void Should_AddPublicProperties_LastOneWithValueWins()
        {
            // Arrange
            var now = DateTime.UtcNow;
            var a   = new ObjectA {
                PropertyOne = 1, PropertyTwo = "two"
            };
            var b = new ObjectB {
                PropertyOne = 2, PropertyTwo = null, PropertyThree = now
            };

            // Act
            dynamic c = new ExpandoObject().AddProperties(a).AddProperties(b);

            // Assert
            ((int)c.PropertyOne).Should().Equals(2);
            ((string)c.PropertyTwo).Should().Equals("two");
            ((DateTime?)c.PropertyThree).Should().Equals(now);
            var cAsDictionary = c as IDictionary <string, object>;

            cAsDictionary.Count.Should().Equals(3);
        }
Пример #16
0
    static void Main(string[] args)
    {
        ObjectA a = new ObjectA()
        {
            FieldA = "test", FieldB = "test2", FieldC = "test3"
        };
        ObjectB b = new ObjectB()
        {
            FieldA = "test", FieldB = "test2", FieldC = "test3"
        };

        if (a.ComparePropertiesTo(b))
        {
            Console.WriteLine("objects have the same properties");
        }
        else
        {
            Console.WriteLine("objects have diferent properties!");
        }

        Console.Read();
    }
Пример #17
0
        public void TestObjectUpdateDestination()
        {
            var objectA = new ObjectA()
            {
                Name        = "ObjectA",
                Description = "ObjectA description"
            };

            var objectB = new ObjectB()
            {
                Name        = "ObjectB",
                Description = "ObjectB description"
            };

            IObjectMapper <ObjectA, ObjectB> mapper = new ObjectObjectMapper();

            mapper.UpdateDestination(objectA, objectB);

            Assert.AreEqual(objectA.Name, objectB.Name);
            Assert.AreEqual(objectA.Name, "ObjectA");
            Assert.AreEqual(objectA.Description, objectB.Description);
            Assert.AreEqual(objectA.Description, "ObjectA description");
        }
Пример #18
0
    void FixedUpdate()
    {
        //Get every object
        //GameObject[] Objects = GameObject.FindGameObjectsWithTag("Player");
        List <GameObject> Objects = new List <GameObject>(GameObject.FindGameObjectsWithTag("Asteroid"));

        Objects.Add(GameObject.FindGameObjectWithTag("Sun"));

        //the gravity between each couple of object is calculated
        foreach (GameObject ObjectA in Objects)
        {
            foreach (GameObject ObjectB in Objects)
            {
                //Objects must not self interact
                if (ObjectA == ObjectB)
                {
                    continue;
                }

                ApplyGravity(ObjectA.GetComponent <Rigidbody2D>(), ObjectB.GetComponent <Rigidbody2D>());
            }
        }
    }
Пример #19
0
    static void Main(string[] args)
    {
        // create two objects with same properties
        ObjectA a = new ObjectA()
        {
            PropertyA = "test", PropertyB = "test2", PropertyC = "test3"
        };
        ObjectB b = new ObjectB()
        {
            PropertyA = "test", PropertyB = "test2", PropertyC = "test3"
        };

        // add fields to those objects
        a.FieldA = "hello";
        b.FieldA = "Something differnt";

        if (a.ComparePropertiesTo(b))
        {
            Console.WriteLine("objects have the same properties");
        }
        else
        {
            Console.WriteLine("objects have diferent properties!");
        }


        if (a.CompareFieldsTo(b))
        {
            Console.WriteLine("objects have the same Fields");
        }
        else
        {
            Console.WriteLine("objects have diferent Fields!");
        }

        Console.Read();
    }
Пример #20
0
        public void T06()
        {
            using (var ms = new MemoryStream())
            {
                var s = new SlimSerializer(SlimFormat.Instance);

                var root = new ObjectA[3];

                root[0] = null;

                root[1] = new ObjectA();
                root[2] = new ObjectB();

                root[1].AField   = 2345;
                root[1].Another1 = new ObjectA {
                    AField = 27892
                };
                root[1].Another2 = new ObjectB {
                    AField = -278, BField = -12, Another1 = root[1]
                };

                root[2].AField            = 2345;
                ((ObjectB)root[2]).BField = 900333;
                root[2].Another1          = new ObjectA {
                    AField = 8000000
                };
                root[2].Another2 = new ObjectB {
                    AField = -278, BField = -1532, Another1 = root[2]
                };
                root[2].Another9 = root[1];

                s.Serialize(ms, root);

                ms.Position = 0;


                var deser = s.Deserialize(ms) as ObjectA[];

                Assert.IsNotNull(deser);
                Assert.IsTrue(deser.GetType() == typeof(ObjectA[]));
                Assert.AreEqual(3, deser.Length);
                Assert.IsNull(deser[0]);
                Assert.IsNotNull(deser[1]);
                Assert.IsNotNull(deser[2]);


                Assert.AreEqual(2345, deser[1].AField);
                Assert.IsNotNull(deser[1].Another1);
                Assert.IsTrue(deser[1].Another1.GetType() == typeof(ObjectA));
                Assert.AreEqual(27892, deser[1].Another1.AField);

                Assert.IsNotNull(deser[1].Another2);
                Assert.AreEqual(-278, deser[1].Another2.AField);

                Assert.IsTrue(deser[1].Another2.GetType() == typeof(ObjectB));
                Assert.AreEqual(-12, ((ObjectB)deser[1].Another2).BField);

                Assert.IsNotNull(deser[1].Another2.Another1);
                Assert.IsTrue(object.ReferenceEquals(deser[1], deser[1].Another2.Another1));
                Assert.IsTrue(deser[1].Another2.GetType() == typeof(ObjectB));

                Assert.IsNull(deser[1].Another3);
                Assert.IsNull(deser[1].Another4);
                Assert.IsNull(deser[1].Another5);
                Assert.IsNull(deser[1].Another6);
                Assert.IsNull(deser[1].Another7);
                Assert.IsNull(deser[1].Another8);
                Assert.IsNull(deser[1].Another9);
                Assert.IsNull(deser[1].Another10);



                Assert.AreEqual(2345, deser[2].AField);
                Assert.AreEqual(900333, ((ObjectB)deser[2]).BField);
                Assert.IsNotNull(deser[2].Another1);
                Assert.IsTrue(deser[2].Another1.GetType() == typeof(ObjectA));
                Assert.AreEqual(8000000, deser[2].Another1.AField);

                Assert.IsNotNull(deser[2].Another2);
                Assert.AreEqual(-278, deser[2].Another2.AField);

                Assert.IsTrue(deser[2].Another2.GetType() == typeof(ObjectB));
                Assert.AreEqual(-1532, ((ObjectB)deser[2].Another2).BField);

                Assert.IsNotNull(deser[2].Another2.Another1);
                Assert.IsTrue(object.ReferenceEquals(deser[2], deser[2].Another2.Another1));
                Assert.IsTrue(deser[2].Another2.GetType() == typeof(ObjectB));

                Assert.IsNull(deser[2].Another3);
                Assert.IsNull(deser[2].Another4);
                Assert.IsNull(deser[2].Another5);
                Assert.IsNull(deser[2].Another6);
                Assert.IsNull(deser[2].Another7);
                Assert.IsNull(deser[2].Another8);
                Assert.IsNotNull(deser[2].Another9);
                Assert.IsNull(deser[2].Another10);

                Assert.IsTrue(object.ReferenceEquals(deser[1], deser[2].Another9));
            }
        }
Пример #21
0
 public void MethodB(ObjectB arg1, ObjectC arg2)
 {
     Console.WriteLine("Hi {0} and {1}", arg1, arg2);
 }
Пример #22
0
 public ObjectA(ObjectB b)
 {
     this.b = b;
 }
Пример #23
0
 public static ApiSetup <ObjectB> For(this Api api, ObjectB obj)
 {
     return(api.For <ObjectB>(obj));
 }
Пример #24
0
 public static void DoSomething(ObjectB o)
 {
     Console.WriteLine("Object B called");
 }
Пример #25
0
        public void T06()
        {
            using(var ms = new MemoryStream())
              {
            var s = new SlimSerializer(SlimFormat.Instance);

            var root = new ObjectA[3];

            root[0] = null;

            root[1] = new ObjectA();
            root[2] = new ObjectB();

             root[1].AField = 2345;
             root[1].Another1 = new ObjectA{ AField = 27892};
             root[1].Another2 = new ObjectB{ AField = -278, BField = -12, Another1 = root[1]};

             root[2].AField = 2345;
             ((ObjectB)root[2]).BField = 900333;
             root[2].Another1 = new ObjectA{ AField = 8000000};
             root[2].Another2 = new ObjectB{ AField = -278, BField = -1532, Another1 = root[2]};
             root[2].Another9 = root[1];

            s.Serialize(ms, root);

            ms.Position = 0;

            var deser = s.Deserialize(ms) as ObjectA[];

            Assert.IsNotNull( deser );
            Assert.IsTrue( deser.GetType() == typeof(ObjectA[]));
            Assert.AreEqual( 3, deser.Length);
            Assert.IsNull(deser[0]);
            Assert.IsNotNull(deser[1]);
            Assert.IsNotNull(deser[2]);

            Assert.AreEqual(2345,  deser[1].AField );
            Assert.IsNotNull( deser[1].Another1 );
            Assert.IsTrue( deser[1].Another1.GetType() == typeof(ObjectA));
            Assert.AreEqual(27892,  deser[1].Another1.AField );

            Assert.IsNotNull( deser[1].Another2 );
            Assert.AreEqual(-278,  deser[1].Another2.AField );

            Assert.IsTrue( deser[1].Another2.GetType() == typeof(ObjectB));
            Assert.AreEqual(-12,  ((ObjectB)deser[1].Another2).BField );

            Assert.IsNotNull( deser[1].Another2.Another1 );
            Assert.IsTrue( object.ReferenceEquals(deser[1], deser[1].Another2.Another1));
            Assert.IsTrue( deser[1].Another2.GetType() == typeof(ObjectB));

            Assert.IsNull( deser[1].Another3 );
            Assert.IsNull( deser[1].Another4 );
            Assert.IsNull( deser[1].Another5 );
            Assert.IsNull( deser[1].Another6 );
            Assert.IsNull( deser[1].Another7 );
            Assert.IsNull( deser[1].Another8 );
            Assert.IsNull( deser[1].Another9 );
            Assert.IsNull( deser[1].Another10 );

            Assert.AreEqual(2345,  deser[2].AField );
            Assert.AreEqual(900333,  ((ObjectB)deser[2]).BField );
            Assert.IsNotNull( deser[2].Another1 );
            Assert.IsTrue( deser[2].Another1.GetType() == typeof(ObjectA));
            Assert.AreEqual(8000000,  deser[2].Another1.AField );

            Assert.IsNotNull( deser[2].Another2 );
            Assert.AreEqual(-278,  deser[2].Another2.AField );

            Assert.IsTrue( deser[2].Another2.GetType() == typeof(ObjectB));
            Assert.AreEqual(-1532,  ((ObjectB)deser[2].Another2).BField );

            Assert.IsNotNull( deser[2].Another2.Another1 );
            Assert.IsTrue( object.ReferenceEquals(deser[2], deser[2].Another2.Another1));
            Assert.IsTrue( deser[2].Another2.GetType() == typeof(ObjectB));

            Assert.IsNull( deser[2].Another3 );
            Assert.IsNull( deser[2].Another4 );
            Assert.IsNull( deser[2].Another5 );
            Assert.IsNull( deser[2].Another6 );
            Assert.IsNull( deser[2].Another7 );
            Assert.IsNull( deser[2].Another8 );
            Assert.IsNotNull( deser[2].Another9 );
            Assert.IsNull( deser[2].Another10 );

            Assert.IsTrue( object.ReferenceEquals(deser[1], deser[2].Another9) );

              }
        }
Пример #26
0
 public void process(ObjectB b)
 {
     Console.WriteLine(b.B);
 }
 public virtual void MethodB(ObjectB arg1, ObjectC arg2)
 {
 }
Пример #28
0
 private void Test2(ObjectB obj)
 {
     Console.WriteLine(obj.GetExcited("Yeah"));
 }