Exemplo n.º 1
0
        public void GetDataPins_Persons_Ok()
        {
            CitedPersonsPart part = GetPart(3);

            List <DataPin> pins = part.GetDataPins(null).ToList();

            Assert.Equal(7, pins.Count);
            TestHelper.AssertValidDataPinNames(pins);

            // tot-count
            DataPin pin = pins.Find(p => p.Name == "tot-count");

            Assert.NotNull(pin);
            TestHelper.AssertPinIds(part, pin);
            Assert.Equal("3", pin.Value);

            for (int n = 1; n <= 3; n++)
            {
                string name = "joe " + new string((char)('a' + n - 1), 3);
                pin = pins.Find(p => p.Name == "name" && p.Value == name);
                Assert.NotNull(pin);
                TestHelper.AssertPinIds(part, pin);

                pin = pins.Find(p => p.Name == "id" && p.Value == $"person {n}");
                Assert.NotNull(pin);
                TestHelper.AssertPinIds(part, pin);
            }
        }
Exemplo n.º 2
0
        public void GetDataPins_NoPersons_Ok()
        {
            CitedPersonsPart part = GetPart(0);

            List <DataPin> pins = part.GetDataPins(null).ToList();

            TestHelper.AssertValidDataPinNames(pins);

            Assert.Single(pins);
            DataPin pin = pins[0];

            Assert.Equal("tot-count", pin.Name);
            TestHelper.AssertPinIds(part, pin);
            Assert.Equal("0", pin.Value);
        }
Exemplo n.º 3
0
        private static CitedPersonsPart GetPart(int count)
        {
            CitedPersonsPart part = new CitedPersonsPart
            {
                ItemId    = Guid.NewGuid().ToString(),
                RoleId    = "some-role",
                CreatorId = "zeus",
                UserId    = "another",
            };

            for (int n = 1; n <= count; n++)
            {
                var person = new CitedPerson
                {
                    Name = new PersonName
                    {
                        Language = "eng",
                        Tag      = "tag",
                        Parts    = new List <PersonNamePart>(new[]
                        {
                            new PersonNamePart {
                                Type = "first", Value = "Joe"
                            },
                            new PersonNamePart {
                                Type = "last", Value =
                                    new string((char)('A' + n - 1), 3)
                            }
                        })
                    },
                    Ids = new List <DecoratedId>(new[]
                    {
                        new DecoratedId
                        {
                            Id      = $"person {n}",
                            Tag     = "tag",
                            Rank    = 1,
                            Sources = TestHelper.GetDocReferences(2)
                        }
                    }),
                    Sources = TestHelper.GetDocReferences(2)
                };
                part.Persons.Add(person);
            }

            return(part);
        }
Exemplo n.º 4
0
        public void Part_Is_Serializable()
        {
            CitedPersonsPart part = GetPart(2);

            string           json  = TestHelper.SerializePart(part);
            CitedPersonsPart part2 =
                TestHelper.DeserializePart <CitedPersonsPart>(json);

            Assert.Equal(part.Id, part2.Id);
            Assert.Equal(part.TypeId, part2.TypeId);
            Assert.Equal(part.ItemId, part2.ItemId);
            Assert.Equal(part.RoleId, part2.RoleId);
            Assert.Equal(part.CreatorId, part2.CreatorId);
            Assert.Equal(part.UserId, part2.UserId);

            Assert.Equal(2, part.Persons.Count);
            // TODO: details
        }
        public void Seed_Ok()
        {
            CitedPersonsPartSeeder seeder = new CitedPersonsPartSeeder();

            seeder.SetSeedOptions(_seedOptions);

            IPart part = seeder.GetPart(_item, null, _factory);

            Assert.NotNull(part);

            CitedPersonsPart p = part as CitedPersonsPart;

            Assert.NotNull(p);

            TestHelper.AssertPartMetadata(p);

            Assert.NotEmpty(p.Persons);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Creates and seeds a new part.
        /// </summary>
        /// <param name="item">The item this part should belong to.</param>
        /// <param name="roleId">The optional part role ID.</param>
        /// <param name="factory">The part seeder factory. This is used
        /// for layer parts, which need to seed a set of fragments.</param>
        /// <returns>A new part.</returns>
        /// <exception cref="ArgumentNullException">item or factory</exception>
        public override IPart GetPart(IItem item, string roleId,
                                      PartSeederFactory factory)
        {
            if (item == null)
            {
                throw new ArgumentNullException(nameof(item));
            }
            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            CitedPersonsPart part = new CitedPersonsPart();

            SetPartMetadata(part, roleId, item);

            part.Persons = SeederHelper.GetCitedPersons(1, 3);

            return(part);
        }