public void register_a_string_conversion_for_a_class() { stringifier.ForClass<Address>(a => "{0}, {1}".ToFormat(a.Address1, a.City)); var address = new Address { Address1 = "2050 Ozark", City = "Joplin" }; stringifier.GetString(typeof (Address), address).ShouldEqual("2050 Ozark, Joplin"); }
public void store_and_retrieve_objects() { var address = new Address(); var model = new AddressViewModel(); var session = new BasicSessionState(); session.Set(address); session.Set(model); session.Get<Address>().ShouldBeTheSameAs(address); session.Get<AddressViewModel>().ShouldBeTheSameAs(model); }
public void set_a_property_correctly_against_a_binding_context() { var address = new Address(); context.WithData("Address1", "2035 Ozark"); context.StartObject(address); var property = ReflectionHelper.GetProperty<Address>(x => x.Address1); converter.Bind(property, context); address.Address1.ShouldEqual("2035 Ozark"); }
public void register_a_property_override_for_a_string_conversion() { //default formatting for Address objects stringifier.IfIsType<Address>(a => "{0}, {1}".ToFormat(a.Address1, a.City)); //specific override formatting for Address objects named Shipping stringifier.IfPropertyMatches<Address>(prop => prop.Name == "Shipping", a => "{1}-{0}".ToFormat(a.Address1, a.City)); var address = new Address { Address1 = "2050 Ozark", City = "Joplin" }; const string expectedDefaultFormatting = "2050 Ozark, Joplin"; const string expectedOverrideFormatting = "Joplin-2050 Ozark"; stringifier.GetString(ReflectionHelper.GetProperty<FakeSite>(s => s.Billing), address).ShouldEqual(expectedDefaultFormatting); stringifier.GetString(ReflectionHelper.GetProperty<FakeSite>(s => s.Shipping), address).ShouldEqual(expectedOverrideFormatting); }
public void SetUp() { var registry = new FubuRegistry( x => { x.StringConversions(s => { s.ForStruct<DateTime>(d => d.ToShortDateString()); }); }); container = new Container(x => x.For<IFubuRequest>().Singleton()); var facility = new StructureMapContainerFacility(container); new FubuBootstrapper(facility, registry).Bootstrap(new List<RouteBase>()); var request = container.GetInstance<IFubuRequest>(); address = new Address(); request.Set(address); request.Get<Address>().ShouldBeTheSameAs(address); generator = container.GetInstance<TagGenerator<Address>>(); }
public void SetUp() { var registry = new FubuRegistry(x => { x.HtmlConvention<OverrideFieldLayout>(); }); container = new Container(x => x.For<IFubuRequest>().Singleton()); FubuApplication.For(registry) .StructureMap(container) .Bootstrap(); var request = container.GetInstance<IFubuRequest>(); address = new Address(); request.Set(address); request.Get<Address>().ShouldBeTheSameAs(address); generator = container.GetInstance<TagGenerator<Address>>(); generator.Model = address; }
public void SetUp() { var registry = new FubuRegistry(x => x.HtmlConvention<TestHtmlConventions>()); container = new Container(x => x.For<IFubuRequest>().Singleton()); var facility = new StructureMapContainerFacility(container); new FubuBootstrapper(facility, registry).Bootstrap(new List<RouteBase>()); var request = container.GetInstance<IFubuRequest>(); address = new Address(); request.Set(address); request.Get<Address>().ShouldBeTheSameAs(address); generator = container.GetInstance<TagGenerator<Address>>(); }
public void SetUp() { TagBuilder textboxes = request => new TextboxTag().Attr("value", request.RawValue); TagBuilder checkboxes = request => new CheckboxTag(request.Value<bool>()); TagModifier setName = (def, tag) => tag.Attr("name", def.ElementId); TagModifier setRequired = (def, tag) => tag.AddClass("required"); factory = new TagFactory(); factory.AddBuilder(new LambdaElementBuilder(def => def.Is<string>(), def => textboxes)); factory.AddBuilder(new LambdaElementBuilder(def => def.Is<bool>(), def => checkboxes)); factory.AddModifier(new LambdaElementModifier(def => true, def => setName)); factory.AddModifier(new LambdaElementModifier(def => def.Accessor.HasAttribute<FakeRequiredAttribute>(), def => setRequired)); address = new Address(); }
public void Setup() { var registry = new FubuRegistry(x => { x.HtmlConvention<DefaultHtmlConventions>(); }); var container = new Container(x => x.For<IFubuRequest>().Singleton()); FubuApplication.For(registry).StructureMap(container).Bootstrap(); Model = new Address { Address1 = "123 Main St.", DateEntered = new DateTime(2010, 5, 25, 11, 30, 0), Order = 42 }; container.GetInstance<IFubuRequest>().Set(Model); Generator = container.GetInstance<TagGenerator<Address>>(); Generator.Model = Model; Tag = createTag(); }
public void Setup() { var registry = new FubuRegistry(x => x.HtmlConvention<DefaultHtmlConventions>()); var container = new Container(x => x.For<IFubuRequest>().Singleton()); var facility = new StructureMapContainerFacility(container); new FubuBootstrapper(facility, registry).Bootstrap(new List<RouteBase>()); Model = new Address { Address1 = "123 Main St.", DateEntered = new DateTime(2010, 5, 25, 11, 30, 0), Order = 42 }; container.GetInstance<IFubuRequest>().Set(Model); Generator = container.GetInstance<TagGenerator<Address>>(); Generator.Model = Model; Tag = createTag(); }
public void SetUp() { var projection = new Projection<Address>(DisplayFormatting.RawValues); projection.Value(x => x.Address1); projection.Value(x => x.Address2); projection.Value(x => x.City); projection.Value(x => x.StateOrProvince).Name("State"); theXmlMediaOptions = new XmlMediaOptions(){ Root = "Address" }; theDocument = new XmlMediaDocument(theXmlMediaOptions); var urls = new StubUrlRegistry(); var linkSource = new LinksSource<Address>(); linkSource.ToSubject().Rel("self"); linkSource.To(a => new AddressAction("change")).Rel("change"); linkSource.To(a => new AddressAction("delete")).Rel("delete"); var media = new MediaWriter<Address>(theDocument, linkSource, urls, projection, null); theAddress = new Address(){ Address1 = "22 Cherry Lane", Address2 = "Apt A", City = "Austin", StateOrProvince = "Texas" }; theOutput = new InMemoryOutputWriter(); media.Write(theAddress, theOutput); Debug.WriteLine(theOutput); }