Пример #1
0
        public void NavigateForward_NavigateToModelThatIsAlreadyInChainBeforeCurrent_ChainAfterTheTargetIsEmpty()
        {
            var kernel = NinjectBootstrapper.GetKernel(new TestModule());
            var firstClassMock = new Mock<ViewModelBaseFactory<TestClass1>>();
            TestClass1 instance1 = new TestClass1();
            firstClassMock.Setup(x => x.Get(It.IsAny<object>())).Returns(instance1);

            var secondClassMock = new Mock<ViewModelBaseFactory<TestClass2>>();
            TestClass2 instance2 = new TestClass2();
            secondClassMock.Setup(x => x.Get(It.IsAny<object>())).Returns(instance2);

            var thirdClassMock = new Mock<ViewModelBaseFactory<TestClass3>>();
            TestClass3 instance3 = new TestClass3();
            thirdClassMock.Setup(x => x.Get(It.IsAny<object>())).Returns(instance3);

            var fourthClassMock = new Mock<ViewModelBaseFactory<TestClass4>>();
            TestClass4 instance4 = new TestClass4();
            fourthClassMock.Setup(x => x.Get(It.IsAny<object>())).Returns(instance4);

            var factory = new ChildrenViewModelsFactory(new List<IViewModelFactory>
                                                        {
                                                            firstClassMock.Object,
                                                            secondClassMock.Object,
                                                            thirdClassMock.Object,
                                                            fourthClassMock.Object,
                                                        });

            kernel.Bind<IViewModelNavigator>()
                .To<ViewModelNavigator>()
                .WithConstructorArgument("childrenViewModelsFactory", factory);

            var nav = kernel.Get<IViewModelNavigator>();
            nav.NavigateForward(instance1);
            nav.NavigateForward<TestClass2>(instance1, null);
            nav.NavigateForward<TestClass3>(instance2, null);
            nav.NavigateForward<TestClass4>(instance3, null);

            nav.NavigateForward<TestClass1>(instance4, null);

            FieldInfo storage = typeof(ViewModelNavigator).GetField("_storage", BindingFlags.NonPublic | BindingFlags.Instance);
            // ReSharper disable once PossibleNullReferenceException
            ViewModelStorage store = (ViewModelStorage) storage.GetValue(nav);
            FieldInfo order = typeof(ViewModelStorage).GetField("_navigationOrder", BindingFlags.NonPublic | BindingFlags.Instance);
            // ReSharper disable once PossibleNullReferenceException
            LinkedList<BaseViewModel> orderVal = (LinkedList<BaseViewModel>)order.GetValue(store);
            Assert.IsTrue(orderVal.Count == 1);
        }
 public TestClass4(TestClass3 Class)
 {
     this.Class = Class;
 }
Пример #3
0
        public void NonStandard()
        {
            //dynamic obj = CsQuery.FromJSON("{\"test\": \"value\", \"number\": 2}");
            dynamic obj = CQ.ParseJSON("{test: 'value',number: 2}");

            Assert.AreEqual("value", obj.test, "Could parse JSON with no quotes");

            obj = CQ.ParseJSON("{'test':  {'subprop1': 'subproperty1 value', 'subprop2': null }, 'number': 2}");

            Assert.AreEqual("subproperty1 value", obj.test.subprop1);
            Assert.AreEqual(2, obj.number);

            var tc3 = new TestClass3();
            var expected = "{\"list\":[\"item1\",\"item2\"],"
                +"\"listMixed\":[3,\"hello\",{\"Prop1\":\"TC1 value1\",\"Prop2\":null},999],"
                +"\"floatingPointProp\":123.33,\"stringProp\":\"asdad\"}";

            string json = CQ.ToJSON(tc3);
            Assert.AreEqual(expected, json, "CsQuery.ToJson works");
        }
Пример #4
0
        public void DatabaseCanStoreComplexObject()
        {
            TestClass3 c3 = new TestClass3();
            c3.Boolean = true;
            c3.Date = DateTime.Now;
            c3.Name = "SuperName";
            c3.IntSixteen = 16;
            c3.IntThirtyTwo = 32;
            c3.IntSixtyFour = 64;
            c3.Class1 = new TestClass1();
            c3.Class1.Boolean = true;
            c3.Class1.Date = DateTime.Now;
            c3.Class1.Name = "SuperName";
            c3.Class1.IntSixteen = 16;
            c3.Class1.IntThirtyTwo = 32;
            c3.Class1.IntSixtyFour = 64;

            TestClass2 c2 = new TestClass2();
            c2.Boolean = true;
            c2.Date = DateTime.Now;
            c2.Name = "SuperName";
            c2.IntSixteen = 16;
            c2.IntThirtyTwo = 32;
            c2.IntSixtyFour = 64;
            c2.Class3 = c3;

            TestClass1 c1 = new TestClass1();
            c1.Boolean = true;
            c1.Date = DateTime.Now;
            c1.Name = "SuperName";
            c1.IntSixteen = 16;
            c1.IntThirtyTwo = 32;
            c1.IntSixtyFour = 64;
            c1.Class2 = c2;

            ObjectReference<TestClass1> reference = _database.Store(c1);

            Assert.IsNotNull(reference.Object);
            Assert.IsNotNull(reference.Id);

            Assert.AreEqual(c1.ToString(), reference.Object.ToString());
        }
Пример #5
0
		public void TestMemberEvent2 ()
		{
			TestClass3 test = new TestClass3();
			BindingContext bc = new BindingContext ();

			BindingManagerBase bm = bc[test];
			Assert.IsTrue (typeof (PropertyManager).IsAssignableFrom (bm.GetType()), "A1");

			bm.CurrentChanged += new EventHandler (OnCurrentChanged);

			currentChangedRaised = positionChangedRaised = false;
			test.Property = 5;
			Assert.IsFalse (currentChangedRaised, "A2");
			Assert.IsFalse (positionChangedRaised, "A3");
		}
Пример #6
0
 public TestClass(TestClass1 inner1, TestClass2 inner2, TestClass3 inner3)
 {
     Inner = inner1;
     Inner2 = inner2;
     Inner3 = inner3;
 }