Пример #1
0
            public void Must_reuse_the_same_assembly_for_all_generated_adapter_factories()
            {
                var fooConfiguration = new MappingConfiguration <Foo, IFooView>();

                fooConfiguration.Map(view => view.Name).From(foo => foo.Name);
                fooConfiguration.Map(view => view.Id).From(foo => foo.Id);
                fooConfiguration.Map(view => view.Factor).From(foo => foo.Factor);

                IAdapterFactory <Foo, IFooView> fooFactory = AdapterFactoryGenerator.Instance.Generate <Foo, IFooView>(fooConfiguration.Mappings);
                var      foo1             = new Foo("test", Guid.NewGuid(), 1);
                IFooView fooView          = fooFactory.Create(foo1);
                var      barConfiguration = new MappingConfiguration <Bar, IFooView>();

                barConfiguration.Map(view => view.Name).From(bar => bar.Name);
                barConfiguration.Map(view => view.Id).From(bar => bar.Id);
                barConfiguration.Map(view => view.Factor).From(bar => null);

                IAdapterFactory <Bar, IFooView> barFactory = AdapterFactoryGenerator.Instance.Generate <Bar, IFooView>(barConfiguration.Mappings);
                var      bar1        = new Bar("test", Guid.NewGuid());
                IFooView barView     = barFactory.Create(bar1);
                Type     fooViewType = fooView.GetType();
                Type     barViewType = barView.GetType();

                Assert.That(fooViewType.Assembly, Is.SameAs(barViewType.Assembly));
            }
Пример #2
0
            public void Must_not_call_mapping_delegate_for_each_property_before_first_access()
            {
                var  fooConfiguration     = new MappingConfiguration <Foo, IFooView>();
                bool nameDelegateCalled   = false;
                bool idDelegateCalled     = false;
                bool factorDelegateCalled = false;

                fooConfiguration.Map(view => view.Name).From(foo =>
                {
                    nameDelegateCalled = true;
                    return(foo.Name);
                });
                fooConfiguration.Map(view => view.Id).From(foo =>
                {
                    idDelegateCalled = true;
                    return(foo.Id);
                });
                fooConfiguration.Map(view => view.Factor).From(foo =>
                {
                    factorDelegateCalled = true;
                    return(foo.Factor);
                });

                var foo1 = new Foo("test", Guid.NewGuid(), 1);
                IAdapterFactory <Foo, IFooView> systemUnderTest = AdapterFactoryGenerator.Instance.Generate <Foo, IFooView>(fooConfiguration.Mappings);
                IFooView fooView = systemUnderTest.Create(foo1);

                Assert.That(nameDelegateCalled, Is.False);
                Assert.That(idDelegateCalled, Is.False);
                Assert.That(factorDelegateCalled, Is.False);

                // ReSharper disable UnusedVariable
                string name   = fooView.Name;
                Guid   id     = fooView.Id;
                int    factor = fooView.Factor.Factor;

                // ReSharper restore UnusedVariable

                Assert.That(nameDelegateCalled, Is.True);
                Assert.That(idDelegateCalled, Is.True);
                Assert.That(factorDelegateCalled, Is.True);
            }
Пример #3
0
            public void Must_wire_up_mapping_delegate_for_each_property()
            {
                var  fooConfiguration     = new MappingConfiguration <Foo, IFooView>();
                bool nameDelegateCalled   = false;
                bool idDelegateCalled     = false;
                bool factorDelegateCalled = false;

                fooConfiguration.Map(view => view.Name).From(foo =>
                {
                    nameDelegateCalled = true;
                    return(foo.Name);
                });
                fooConfiguration.Map(view => view.Id).From(foo =>
                {
                    idDelegateCalled = true;
                    return(foo.Id);
                });
                fooConfiguration.Map(view => view.Factor).From(foo =>
                {
                    factorDelegateCalled = true;
                    return(foo.Factor);
                });

                var foo1 = new Foo("test", Guid.NewGuid(), 1);
                IAdapterFactory <Foo, IFooView> systemUnderTest = AdapterFactoryGenerator.Instance.Generate <Foo, IFooView>(fooConfiguration.Mappings);
                IFooView fooView = systemUnderTest.Create(foo1);
                string   name    = fooView.Name;
                Guid     id      = fooView.Id;
                int      factor  = fooView.Factor.Factor;

                Assert.That(name, Is.EqualTo(foo1.Name));
                Assert.That(id, Is.EqualTo(foo1.Id));
                Assert.That(factor, Is.EqualTo(foo1.Factor.Factor));
                Assert.That(nameDelegateCalled, Is.True);
                Assert.That(idDelegateCalled, Is.True);
                Assert.That(factorDelegateCalled, Is.True);
            }
Пример #4
0
 public FooPresenter(IFooView view)
 {
     view.FooSelected += (s, e) => Fired(s, e);
     view.Canceled    += (s, e) => Canceled = true;
 }
Пример #5
0
 public FooPresenter2(IFooView view)
 {
     this.view      = view;
     view.Presenter = this;
 }
Пример #6
0
 public FooPresenter1()
 {
     view = new FooView(this);
 }
 public FooViewModel(IFooView view)
 {
     _view = view;
 }