コード例 #1
0
        public void When_binding_a_form_to_an_object_where_the_object_is_null()
        {
            var binder = new Binder();
            var form   = NeededObjectsFactory.CreateForm();

            Assert.Throws <ArgumentNullException>(() => binder.Bind(form, (Post)null));
        }
コード例 #2
0
        public void When_binding_a_form_to_an_object()
        {
            var binder = new Binder();
            var form   = NeededObjectsFactory.CreateForm();
            var post   = new Post();

            binder.Bind(form, post);

            Assert.That(post.Title, Is.EqualTo(TestVariables.Title));
            Assert.That(post.Author, Is.EqualTo(TestVariables.Author));
            Assert.That(post.Date, Is.EqualTo(TestVariables.Posted));
            Assert.That(post.Body, Is.EqualTo(TestVariables.Body));
        }
コード例 #3
0
        public void When_binding_a_form_to_an_object_with_custom_control_registrations()
        {
            var binder   = new Binder();
            var form     = NeededObjectsFactory.CreateForm();
            var strategy = new TestBindaStrategy();

            binder.AddRegistration(strategy, form.Title);
            strategy.GetValue = "Good Title";

            binder.AddRegistration(typeof(TextBox), "Text");
            form.Title.Text = "Bad Title";

            var post = new Post();

            binder.Bind(form, post);

            Assert.That(post.Title, Is.EqualTo(strategy.GetValue));
        }
コード例 #4
0
        public void When_binding_a_form_to_an_object_with_aliases()
        {
            var binder  = new Binder();
            var aliases = new List <BindaAlias> {
                new BindaAlias("Location", "PostLocation")
            };
            var form = NeededObjectsFactory.CreateForm();

            form.PostLocation.Text = TestVariables.Location;
            var post = new Post();

            binder.Bind(form, post, aliases);

            Assert.That(post.Title, Is.EqualTo(TestVariables.Title));
            Assert.That(post.Author, Is.EqualTo(TestVariables.Author));
            Assert.That(post.Date, Is.EqualTo(TestVariables.Posted));
            Assert.That(post.Body, Is.EqualTo(TestVariables.Body));
            Assert.That(post.Location, Is.EqualTo(TestVariables.Location));
        }
コード例 #5
0
        public void When_binding_a_form_to_an_object_with_custom_registrations()
        {
            var binder = new Binder();

            binder.AddRegistration(typeof(FluxCapacitor), "PopularityRanking");
            var form = NeededObjectsFactory.CreateForm();

            form.PopularityRanking.PopularityRanking = TestVariables.PopularityRanking;
            var post = new Post();

            binder.Bind(form, post);


            Assert.That(post.Title, Is.EqualTo(TestVariables.Title));
            Assert.That(post.Author, Is.EqualTo(TestVariables.Author));
            Assert.That(post.Date, Is.EqualTo(TestVariables.Posted));
            Assert.That(post.Body, Is.EqualTo(TestVariables.Body));
            Assert.That(post.PopularityRanking, Is.EqualTo(TestVariables.PopularityRanking));
        }