public static MemberAssertion <T, TMember> p <T, TMember>(
            this IAssert <T> assertion,
            Expression <Func <T, TMember> > expession)
        {
            var memberAssertion = new MemberAssertion <T, TMember>(expession, assertion);

            assertion.AddMemberAssertion(memberAssertion);
            return(memberAssertion);
        }
예제 #2
0
        public static MemberAssertion <T, TMember> Member <T, TMember>(
            this IAssert <T> parent,
            Expression <Func <T, TMember> > memberExpression)
        {
            var memberAssertion = new MemberAssertion <T, TMember>(memberExpression, parent);

            parent.AddMemberAssertion(memberAssertion);
            return(memberAssertion);
        }
예제 #3
0
        public static void Serialize_StockCollectionWithMemberAssertion_ReturnsExpectedJsonLD()
        {
            // Arrange

            string expectedJsonLD = File.ReadAllText(
                "expected-stock-collection-with-member-assertion.jsonld");

            // Create context
            Context context = new(new Dictionary <string, Uri>()
            {
                { "hydra", new Uri("http://www.w3.org/ns/hydra/core#") },
                { "Collection", new Uri("hydra:Collection") },
                { "member", new Uri("hydra:member") }
            });

            // Create stocks
            var stocks = new Stock[]
            {
                new Stock(new Uri("https://api.example.com/stocks/1"), "ABC", 0.32),
                new Stock(new Uri("https://api.example.com/stocks/2"), "XYZ", 351.74)
            };

            // Create member assertion
            var memberAssertion = new MemberAssertion(new Uri(Rdf.Type), new Uri("doc:Stock"));

            // Create a stock collection
            var stockCollection = new Collection <Stock>(
                context,
                new Uri("https://api.example.com/stocks"),
                memberAssertion,
                stocks);

            // Act

            string jsonLD = JsonSerializer.Serialize(stockCollection, new JsonSerializerOptions
            {
                WriteIndented = true
            });

            // Assert

            Assert.Equal(expectedJsonLD, jsonLD);
        }