Ejemplo n.º 1
0
 static App()
 {
     Weaver = new NotifyingObjectWeaver();
     var dispatcher = new Dispatcher(Deployment.Current.Dispatcher);
     DispatcherManager.Current = dispatcher;
     var autoKernel = new AutoKernel();
     autoKernel.AddGenericBindingResolver(ResolveViewModel);
     Kernel = autoKernel;
 }
Ejemplo n.º 2
0
        public void ChangingAPropertyWithoutDispatcherAccessShouldCallBeginInvoke()
        {
            var dispatcher = new Dispatcher();
            dispatcher.CheckAccessReturnValue = false;
            DispatcherManager.Current = dispatcher;
            var weaver = new NotifyingObjectWeaver();
            var proxyType = weaver.GetProxyType<MyViewModel>();
            var instance = Activator.CreateInstance(proxyType) as MyViewModel;
            var notifyingObject = instance as INotifyPropertyChanged;
            var fired = false;
            notifyingObject.PropertyChanged += (s, e) => fired = true;

            instance.SomeInt = 5;
            Assert.That(dispatcher.BeginInvokeDelegateCalled, Is.True);
        }
Ejemplo n.º 3
0
        public void TypesShouldHaveXmlRootAttributeAdded()
        {
            var dispatcher = new Dispatcher();
            DispatcherManager.Current = dispatcher;
            var weaver = new NotifyingObjectWeaver();

            var proxyType = weaver.GetProxyType<SimpleObject>();
            var hasXmlRootAttribute = false;
            var elementName = string.Empty;
            var attributes = proxyType.GetCustomAttributes(true);
            foreach( var attribute in attributes )
            {
                if( attribute is XmlRootAttribute )
                {
                    elementName = ((XmlRootAttribute)attribute).ElementName;
                    hasXmlRootAttribute = true;
                }
            }

            Assert.That(hasXmlRootAttribute,Is.True);
            Assert.That(elementName,Is.EqualTo(typeof(SimpleObject).Name));
        }
Ejemplo n.º 4
0
        public void ToStringShouldNotBeOverridenIfBaseTypeOverridesIt()
        {
            var dispatcher = new Dispatcher();
            DispatcherManager.Current = dispatcher;
            var weaver = new NotifyingObjectWeaver();
            var proxyType = weaver.GetProxyType<SimpleObjectOverridingToString>();

            var instance = Activator.CreateInstance(proxyType);
            var toStringResult = instance.ToString();

            Assert.That(toStringResult, Is.EqualTo(SimpleObjectOverridingToString.ToStringReturn));
        }
Ejemplo n.º 5
0
        public void ToStringShouldBeOverriddenAndReturnTheBaseTypeFullNameIfNotOverriddenInBaseTyp()
        {
            var dispatcher = new Dispatcher();
            DispatcherManager.Current = dispatcher;
            var weaver = new NotifyingObjectWeaver();
            var proxyType = weaver.GetProxyType<SimpleObject>();

            var instance = Activator.CreateInstance(proxyType);
            var toStringResult = instance.ToString();

            Assert.That(toStringResult, Is.EqualTo(typeof(SimpleObject).ToString()));
        }
Ejemplo n.º 6
0
        public void InterfacesImplementedByBaseTypeShouldBePresentInProxy()
        {
            var dispatcher = new Dispatcher();
            DispatcherManager.Current = dispatcher;
            var weaver = new NotifyingObjectWeaver();
            var proxyType = weaver.GetProxyType<TypeImplementingOtherInterface>();

            var interfaceType = proxyType.GetInterface(typeof(ISomeInterface).Name, true);
            Assert.That(interfaceType, Is.Not.Null);
        }