Пример #1
0
        public void SutIsPropertyQuery()
        {
            // Arrange
            // Act
            var sut = new AndPropertyQuery();

            // Assert
            Assert.IsAssignableFrom <IPropertyQuery>(sut);
        }
Пример #2
0
        public void QueriesWillNotBeNullWhenSutIsCreatedWithDefaultConstructor()
        {
            // Arrange
            var sut = new AndPropertyQuery();

            // Act
            var result = sut.Queries;

            // Assert
            Assert.NotNull(result);
        }
Пример #3
0
        public void QueriesWillMatchProvidedParameters()
        {
            // Arrange
            var expectedResult = new IPropertyQuery[]
            {
                new DelegatingPropertyQuery(),
                new DelegatingPropertyQuery()
            };
            var sut = new AndPropertyQuery(expectedResult);

            // Act
            var result = sut.Queries;

            // Assert
            Assert.True(expectedResult.SequenceEqual(result));
        }
Пример #4
0
        public void SelectPropertiesWillOnlySelectPropertiesMeetingProvidedQueryParameters()
        {
            // Arrange
            var stringProperty = typeof(PropertyHolder <string>).GetTypeInfo().GetProperties();
            var intProperty    = typeof(PropertyHolder <int>).GetTypeInfo().GetProperties();

            var sut = new AndPropertyQuery(
                new DelegatingPropertyQuery
            {
                OnSelectProperties = _ => stringProperty.Concat(intProperty)
            },
                new DelegatingPropertyQuery
            {
                OnSelectProperties = _ => stringProperty
            });

            var expectedResult = stringProperty.AsEnumerable();

            // Act
            var result = sut.SelectProperties(typeof(string));

            // Assert
            Assert.True(expectedResult.SequenceEqual(result));
        }