public void roundTrip_simpleList_listReconstituted()
        {
            // arrange
            var testList = new SimpleResourceList();

            testList.Items.Add(new BasicResource
            {
                Name = "alpha",
            });

            testList.Items.Add(new BasicResource
            {
                Name = "beta",
            });

            testList.Items.Add(new BasicResource
            {
                Name = "gamma",
            });

            // act
            var obj = TestHelpers.Format.PerformRoundTrip <SimpleResourceList <BasicResource> >(testList, _formatter);

            // assert
            obj.Should().BeOfType <SimpleResourceList <BasicResource> >();
            obj.Count.Should().Be(3);
            obj.Items.Count.Should().Be(3);
        }
        public void roundTrip_heteroListAsUniform_listReconstituted()
        {
            // arrange
            var testList = new SimpleResourceList();

            testList.Items.Add(new BasicResource
            {
                Name = "alpha",
            });

            testList.Items.Add(new DerivedResource
            {
                Name  = "beta",
                Extra = "omega"
            });

            testList.Items.Add(new BasicResource
            {
                Name = "gamma",
            });

            // act
            var obj   = TestHelpers.Format.PerformRoundTrip <SimpleResourceList <BasicResource> >(testList, _formatter);
            var alpha = obj.Items.First(i => i.Name == "alpha");
            var beta  = obj.Items.First(i => i.Name == "beta");

            // assert
            obj.Should().BeOfType <SimpleResourceList <BasicResource> >();
            obj.Count.Should().Be(3);
            obj.Items.Count.Should().Be(3);
            alpha.Name.Should().Be("alpha");
            alpha.Should().BeOfType <BasicResource>();
            beta.Name.Should().Be("beta");
            beta.Should().BeOfType <BasicResource>(); // which means Extra is gone
        }
Esempio n. 3
0
        public void Setup()
        {
            _list = new SimpleResourceList
            {
                Relations = new LinkCollection {
                    { "self", new Link {
                          Href = "selfhref"
                      } }
                },
                Items = new List <IResource>()
            };

            _list.Items.Add(new BasicResource
            {
                Name      = "alpha",
                Relations = new LinkCollection {
                    { "self", new Link {
                          Href = "alphahref"
                      } }
                }
            });

            _list.Items.Add(new BasicResource
            {
                Name      = "beta",
                Relations = new LinkCollection {
                    { "self", new Link {
                          Href = "betahref"
                      } }
                }
            });

            _list.Items.Add(new BasicResource
            {
                Name      = "gamma",
                Relations = new LinkCollection {
                    { "self", new Link {
                          Href = "gammahref"
                      } }
                }
            });


            _formatter = new HalJsonMediaTypeFormatter();
        }
 public BasicController()
 {
     _fakeDatabase = new SimpleResourceList <ResourceWithHiddenId>
     {
         Items = new List <ResourceWithHiddenId>
         {
             new ResourceWithHiddenId {
                 Id = 1, Name = "alpha"
             },
             new ResourceWithHiddenId {
                 Id = 2, Name = "beta"
             },
             new ResourceWithHiddenId {
                 Id = 3, Name = "gamma"
             }
         }
     };
 }
        public void formatter_withNeverShowProperty_neverShowProperiesOmitted()
        {
            // arrange
            var list = new SimpleResourceList
            {
                Items = new List <IResource>
                {
                    new ResourceWithHiddenId
                    {
                        Id   = 1,
                        Name = "alpha"
                    },
                    new ResourceWithHiddenId
                    {
                        Id   = 2,
                        Name = "beta"
                    },
                    new ResourceWithHiddenId
                    {
                        Id   = 3,
                        Name = "gamma"
                    }
                }
            };

            // act
            var result = TestHelpers.Format.FormatObject(list, _formatter);

            // assert
            result.Should().NotContain("Id");
            result.Should().NotContain("1");
            result.Should().NotContain("2");
            result.Should().NotContain("3");
            result.Should().Contain("alpha");
            result.Should().Contain("beta");
            result.Should().Contain("gamma");
        }