Beispiel #1
0
        public void NavigationPushPopSerializationTest()
        {
            var engine = new DictionaryStorageEngine();

            using (var _ = engine.AsPrimaryEngine()) {
                var input = new TestViewModel()
                {
                    SomeProp = "Foo"
                };
                var fixture = new RoutingState();
                fixture.NavigateForward.Execute(input);

                RxStorage.Engine.CreateSyncPoint(fixture);

                var output = RxStorage.Engine.GetLatestRootObject <RoutingState>();

                Assert.True(output.NavigateBack.CanExecute(null));

                output.NavigateBack.Execute(null);
                RxStorage.Engine.CreateSyncPoint(output);
                output = RxStorage.Engine.GetLatestRootObject <RoutingState>();

                Assert.False(output.NavigateBack.CanExecute(null));
            }
        }
Beispiel #2
0
        public void ModelBaseShouldBeObservableAfterDeserialization()
        {
            var dse = new DictionaryStorageEngine();

            (new TestScheduler()).With(sched => {
                var input = new ModelTestFixture()
                {
                    TestString = "Foo"
                };

                dse.Save(input);
                var fixture = dse.Load <ModelTestFixture>(input.ContentHash);

                string latest = null;
                var changed   = fixture.Changed;
                this.Log().InfoFormat("Subscribing to Changed: 0x{0:X}", changed.GetHashCode());
                changed.Subscribe(Console.WriteLine);
                changed.Subscribe(x => latest = x.PropertyName);
                fixture.TestString            = "Bar";

                sched.RunToMilliseconds(1000);

                Assert.Equal("TestString", latest);
            });
        }
        public void RoutingStateSerializableRoundTripTest()
        {
            var engine = new DictionaryStorageEngine();

            using(var _ = engine.AsPrimaryEngine()) {
                var input = new TestViewModel() {SomeProp = "Foo"};
                var fixture = new RoutingState();
                fixture.NavigationStack.Add(input);

                RxStorage.Engine.CreateSyncPoint(fixture);

                var output = RxStorage.Engine.Load<RoutingState>(fixture.ContentHash);

                Assert.True(output.NavigationStack.Count == 1);
                Assert.True(output.NavigationStack[0].ContentHash == input.ContentHash);
                Assert.Equal(input.SomeProp, ((TestViewModel) output.NavigationStack[0]).SomeProp);
            }
        }
        public void ModelBaseShouldBeObservableAfterDeserialization()
        {
            var dse = new DictionaryStorageEngine();
            var sched = new TestScheduler();
            var input = sched.With(_ => new ModelTestFixture() {TestString = "Foo"});

            dse.Save(input);
            var fixture = dse.Load<ModelTestFixture>(input.ContentHash);

            string latest = null;
            var changed = fixture.Changed;
            this.Log().InfoFormat("Subscribing to Changed: 0x{0:X}", changed.GetHashCode());
            changed.Subscribe(Console.WriteLine);
            changed.Subscribe(x => latest = x.PropertyName);
            fixture.TestString = "Bar";

            sched.RunToMilliseconds(1000);

            Assert.AreEqual("TestString", latest);
        }
Beispiel #5
0
        public void ModelBaseShouldBeObservableAfterDeserialization()
        {
            var dse = new DictionaryStorageEngine();

            (new TestScheduler()).With(sched => {
                var input = new ModelTestFixture() {TestString = "Foo"};

                dse.Save(input);
                var fixture = dse.Load<ModelTestFixture>(input.ContentHash);

                string latest = null;
                var changed = fixture.Changed;
                changed.Subscribe(Console.WriteLine);
                changed.Subscribe(x => latest = x.PropertyName);
                fixture.TestString = "Bar";

                sched.RunToMilliseconds(1000);

                Assert.Equal("TestString", latest);
            });
        }
Beispiel #6
0
        public void RoutingStateSerializableRoundTripTest()
        {
            var engine = new DictionaryStorageEngine();

            using (var _ = engine.AsPrimaryEngine()) {
                var input = new TestViewModel()
                {
                    SomeProp = "Foo"
                };
                var fixture = new RoutingState();
                fixture.NavigationStack.Add(input);

                RxStorage.Engine.CreateSyncPoint(fixture);

                var output = RxStorage.Engine.Load <RoutingState>(fixture.ContentHash);

                Assert.True(output.NavigationStack.Count == 1);
                Assert.True(output.NavigationStack[0].ContentHash == input.ContentHash);
                Assert.Equal(input.SomeProp, ((TestViewModel)output.NavigationStack[0]).SomeProp);
            }
        }
        public void NavigationPushPopSerializationTest()
        {
            var engine = new DictionaryStorageEngine();

            using (var _ = engine.AsPrimaryEngine()) {
                var input = new TestViewModel() {SomeProp = "Foo"};
                var fixture = new RoutingState();
                fixture.NavigateForward.Execute(input);

                RxStorage.Engine.CreateSyncPoint(fixture);

                var output = RxStorage.Engine.GetLatestRootObject<RoutingState>();

                Assert.True(output.NavigateBack.CanExecute(null));

                output.NavigateBack.Execute(null);
                RxStorage.Engine.CreateSyncPoint(output);
                output = RxStorage.Engine.GetLatestRootObject<RoutingState>();

                Assert.False(output.NavigateBack.CanExecute(null));
            }
        }