public void GivenAnInequalityExpressionWithNullableDateTimeMemberOnLeftAndNullOnRight_ShouldAddAnExistsFilterWithMemberAsField() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => x.NullableDate != null); filter.Should().BeOfType <ExistsFilter>(); var existsFilter = (ExistsFilter)filter; existsFilter.Field.Should().Be(client.GetFieldName <TestData, DateTime?>(x => x.NullableDate)); }
public void GivenAGreaterThanOrEqualExpressionWithMemberOnLeftAndIntegerOnRight_ShouldReturnARangeFilterWithMemberAsFieldAndIntegerAsFromValueAndIncludeLowerTrue() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => x.Id >= 42); filter.Should().BeOfType<RangeFilter<int>>(); var rangeFilter = (RangeFilter<int>)filter; rangeFilter.From.Equals(42).Should().BeTrue(); rangeFilter.Field.Should().Be(client.GetFieldName<TestData, int>(x => x.Id)); rangeFilter.IncludeLower.Should().BeTrue(); }
public void GivenAnEqualityExpressionWithMemberOnLeftAndIntegerOnRight_ShouldReturnATermFilterWithMemberAsFieldAndIntegerAsValue() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => x.Id == 42); filter.Should().BeOfType <TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Value.Equals(42).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName <TestData, int>(x => x.Id)); }
public void GivenAnEqualityExpressionWithIntegerPropertyFromNonQueriedClassOnLeftAndMemberOnRight_ShouldAddATermFilterWithMemberAsFieldAndIntegerAsValue() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => IntProperty == x.Id); filter.Should().BeOfType <TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals(42).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName <TestData, int>(x => x.Id)); }
public void GivenAGreaterThanExpressionWithMemberOnLeftAndDateTimeOnRight_ShouldReturnARangeFilterWithMemberAsFieldAndDateTimeAsFromValueAndIncludeLowerFalse() { var client = new Client("", ""); var filterValue = DateTime.Now; var filter = client.WhereFilter<TestData>(x => x.Date > filterValue); filter.Should().BeOfType<RangeFilter<DateTime>>(); var rangeFilter = (RangeFilter<DateTime>)filter; rangeFilter.From.Equals(filterValue).Should().BeTrue(); rangeFilter.Field.Should().Be(client.GetFieldName<TestData, DateTime>(x => x.Date)); rangeFilter.IncludeLower.Should().BeFalse(); }
public void GivenAnEqualityExpressionWithMemberOnLeftAndStringOnRight_ShouldAddATermFilterWithMemberAsFieldAndStringAsValue() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => x.Name == "Hello"); filter.Should().BeOfType <TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals("Hello").Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName <TestData, string>(x => x.Name)); }
public void GivenALessThanExpressionWithMemberOnLeftAndIntegerOnRight_ShouldReturnARangeFilterWithMemberAsFieldAndIntegerAsToValueAndIncludeUpperFalse() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => x.Id < 42); filter.Should().BeOfType <RangeFilter <int> >(); var rangeFilter = (RangeFilter <int>)filter; rangeFilter.To.Equals(42).Should().BeTrue(); rangeFilter.Field.Should().Be(client.GetFieldName <TestData, int>(x => x.Id)); rangeFilter.IncludeUpper.Should().BeFalse(); }
public void GivenAnEqualityExpressionInNegatedParenthesis_ShouldReturnANotFilterWithATermFilter() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => !(x.Id == 42)); filter.Should().BeOfType <NotFilter>(); var notFilter = (NotFilter)filter; var termFilter = (TermFilter)notFilter.Filter; termFilter.Value.Equals(42).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName <TestData, int>(x => x.Id)); }
public void GivenAGreaterThanOrEqualExpressionWithMemberOnLeftAndIntegerOnRight_ShouldReturnARangeFilterWithMemberAsFieldAndIntegerAsFromValueAndIncludeLowerTrue() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => x.Id >= 42); filter.Should().BeOfType <RangeFilter <int> >(); var rangeFilter = (RangeFilter <int>)filter; rangeFilter.From.Equals(42).Should().BeTrue(); rangeFilter.Field.Should().Be(client.GetFieldName <TestData, int>(x => x.Id)); rangeFilter.IncludeLower.Should().BeTrue(); }
public void GivenAGreaterThanExpressionWithMemberOnLeftAndDateTimeOnRight_ShouldReturnARangeFilterWithMemberAsFieldAndDateTimeAsFromValueAndIncludeLowerFalse() { var client = new Client("", ""); var filterValue = DateTime.Now; var filter = client.WhereFilter <TestData>(x => x.Date > filterValue); filter.Should().BeOfType <RangeFilter <DateTime> >(); var rangeFilter = (RangeFilter <DateTime>)filter; rangeFilter.From.Equals(filterValue).Should().BeTrue(); rangeFilter.Field.Should().Be(client.GetFieldName <TestData, DateTime>(x => x.Date)); rangeFilter.IncludeLower.Should().BeFalse(); }
public void GivenATypeComparisonExpressionWithGetTypeInvokedOnMemberOnLeftAndTypeOfQueriedTypeOnRight_ShouldReturnATermFilterWithMembersFieldPlusTypeFieldAndTypeNameAsValue() { var client = new Client("", ""); var typeToMatch = typeof(TestDataSub); var filter = client.WhereFilter <TestData>(x => x.Another.GetType() == typeToMatch); filter.Should().BeOfType <TermFilter>(); var termFilter = (TermFilter)filter; var memberFieldName = client.GetFieldName <TestData, TestData>(x => x.Another); termFilter.Value.ShouldEqual(typeToMatch + ", " + typeToMatch.Assembly.GetName().Name); termFilter.Field.Should().Be(memberFieldName + "." + "$type"); }
public void GivenExpressionWithStartsWithInvokedOnMemberWithStringComparisonInvariantCulture_ShouldAddAPrefixFilterWithMemberAsFieldAndArgumentAsValue() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => x.Name.StartsWith("Hello", StringComparison.InvariantCulture)); filter.Should().BeOfType <PrefixFilter>(); var termFilter = (PrefixFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Should().Be("Hello"); termFilter.Field.Should().Be(client.GetFieldName <TestData, string>(x => x.Name)); }
public void GivenAnExpressionWithBooleanMember_ShouldAddATermFilterWithMemberAsFieldAndTrueAsValue() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => x.Bool); filter.Should().BeOfType <TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals(true).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName <TestData, bool>(x => x.Bool)); }
public void GivenAnEqualityExpressionWithMemberOnLeftAndEnumOnRight_ShouldAddATermFilterWithMemberAsFieldAndEnumAsIntAsValue() { var client = new Client("", ""); var filterValue = UriComponents.Host; var filter = client.WhereFilter <TestData>(x => x.Enum == filterValue); filter.Should().BeOfType <TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals((int)filterValue).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName <TestData, UriComponents>(x => x.Enum)); }
public void GivenAnIsExpressionWithMemberOnLeftAndSubTypeOfMemberTypeOnRight_ShouldReturnATermFilterWithMembersTypesFieldAndTypeNameAsValue() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => x.Another is TestDataSub); filter.Should().BeOfType <TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Value.Equals(TypeHierarchyInterceptor.GetTypeName(typeof(TestDataSub))).Should().BeTrue(); var expectedFieldName = client.GetFieldName <TestData, TestData>(x => x.Another) + "." + TypeHierarchyInterceptor.TypeHierarchyJsonPropertyName; termFilter.Field.Should().Be(expectedFieldName); }
public void GivenAnEqualityExpressionWithMemberOnLeftAndDoubleOnRight_ShouldAddATermFilterWithMemberAsFieldAndDoubleAsValue() { var client = new Client("", ""); var filterValue = 42.42; var filter = client.WhereFilter <TestData>(x => x.Double == filterValue); filter.Should().BeOfType <TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals(filterValue).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName <TestData, Double>(x => x.Double)); }
public void GivenAnEqualityExpressionWithBooleanMemberOnLeftAndFalseOnRightInNegatedParenthesis_ShouldAddANotFilterWithATermFilterWithMemberAsFieldAndFalseAsValue() { var client = new Client("", ""); var filter = client.WhereFilter <TestData>(x => !(x.Bool == false)); filter.Should().BeOfType <NotFilter>(); var notFilter = (NotFilter)filter; notFilter.Filter.Should().BeOfType <TermFilter>(); var termFilter = (TermFilter)notFilter.Filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals(false).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName <TestData, bool>(x => x.Bool)); }
public void GivenAnEqualityExpressionWithIntegerPropertyFromNonQueriedClassOnLeftAndMemberOnRight_ShouldAddATermFilterWithMemberAsFieldAndIntegerAsValue() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => IntProperty == x.Id); filter.Should().BeOfType<TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals(42).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName<TestData, int>(x => x.Id)); }
public void GivenAnEqualityExpressionWithMemberOnLeftAndStringOnRight_ShouldAddATermFilterWithMemberAsFieldAndStringAsValue() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => x.Name == "Hello"); filter.Should().BeOfType<TermFilter>(); var termFilter = (TermFilter) filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals("Hello").Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName<TestData, string>(x => x.Name)); }
public void GivenAnInequalityExpressionWithNullableDateTimeMemberOnLeftAndNullOnRight_ShouldAddAnExistsFilterWithMemberAsField() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => x.NullableDate != null); filter.Should().BeOfType<ExistsFilter>(); var existsFilter = (ExistsFilter)filter; existsFilter.Field.Should().Be(client.GetFieldName<TestData, DateTime?>(x => x.NullableDate)); }
public void GivenAnIsExpressionWithMemberOnLeftAndSubTypeOfMemberTypeOnRight_ShouldReturnATermFilterWithMembersTypesFieldAndTypeNameAsValue() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => x.Another is TestDataSub); filter.Should().BeOfType<TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Value.Equals(TypeHierarchyInterceptor.GetTypeName(typeof(TestDataSub))).Should().BeTrue(); var expectedFieldName = client.GetFieldName<TestData, TestData>(x => x.Another) + "." + TypeHierarchyInterceptor.TypeHierarchyJsonPropertyName; termFilter.Field.Should().Be(expectedFieldName); }
public void GivenATypeComparisonExpressionWithGetTypeInvokedOnMemberOnLeftAndTypeOfQueriedTypeOnRight_ShouldReturnATermFilterWithMembersFieldPlusTypeFieldAndTypeNameAsValue() { var client = new Client("", ""); var typeToMatch = typeof(TestDataSub); var filter = client.WhereFilter<TestData>(x => x.Another.GetType() == typeToMatch); filter.Should().BeOfType<TermFilter>(); var termFilter = (TermFilter)filter; var memberFieldName = client.GetFieldName<TestData, TestData>(x => x.Another); termFilter.Value.ShouldEqual(typeToMatch + ", " + typeToMatch.Assembly.GetName().Name); termFilter.Field.Should().Be(memberFieldName + "." + "$type"); }
public void GivenExpressionWithStartsWithInvokedOnMember_ShouldAddAPrefixFilterWithMemberAsFieldAndArgumentAsValue() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => x.Name.StartsWith("Hello")); filter.Should().BeOfType<PrefixFilter>(); var termFilter = (PrefixFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Should().Be("Hello"); termFilter.Field.Should().Be(client.GetFieldName<TestData, string>(x => x.Name)); }
public void GivenAnEqualityExpressionWithMemberOnLeftAndEnumOnRight_ShouldAddATermFilterWithMemberAsFieldAndEnumAsIntAsValue() { var client = new Client("", ""); var filterValue = UriComponents.Host; var filter = client.WhereFilter<TestData>(x => x.Enum == filterValue); filter.Should().BeOfType<TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals((int)filterValue).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName<TestData, UriComponents>(x => x.Enum)); }
public void GivenAnInequalityExpressionWithMemberOnRightAndIntegerOnLeft_ShouldReturnANotFilterWithATermFilterWithMembersFieldNameAndIntegerValue() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => x.Id != 42); filter.Should().BeOfType<NotFilter>(); var notFilter = (NotFilter)filter; var termFilter = (TermFilter)notFilter.Filter; termFilter.Value.Equals(42).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName<TestData, int>(x => x.Id)); }
public void GivenAnEqualityExpressionWithMemberOnLeftAndNullableDateTimeOnRight_ShouldAddATermFilterWithMemberAsFieldAndNullableDateTimeAsValue() { var client = new Client("", ""); var filterValue = DateTime.Now; var filter = client.WhereFilter<TestData>(x => x.NullableDate == filterValue); filter.Should().BeOfType<TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals(filterValue).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName<TestData, DateTime?>(x => x.NullableDate)); }
public void GivenAnEqualityExpressionWithBooleanMemberOnLeftAndFalseOnRight_ShouldAddATermFilterWithMemberAsFieldAndFalseAsValue() { var client = new Client("", ""); var filterValue = false; var filter = client.WhereFilter<TestData>(x => x.Bool == filterValue); filter.Should().BeOfType<TermFilter>(); var termFilter = (TermFilter)filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals(filterValue).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName<TestData, bool>(x => x.Bool)); }
public void GivenALessThanExpressionWithMemberOnLeftAndIntegerOnRight_ShouldReturnARangeFilterWithMemberAsFieldAndIntegerAsToValueAndIncludeUpperFalse() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => x.Id < 42); filter.Should().BeOfType<RangeFilter<int>>(); var rangeFilter = (RangeFilter<int>)filter; rangeFilter.To.Equals(42).Should().BeTrue(); rangeFilter.Field.Should().Be(client.GetFieldName<TestData, int>(x => x.Id)); rangeFilter.IncludeUpper.Should().BeFalse(); }
public void GivenAnEqualityExpressionInNegatedParenthesis_ShouldReturnANotFilterWithATermFilter() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => !(x.Id == 42)); filter.Should().BeOfType<NotFilter>(); var notFilter = (NotFilter) filter; var termFilter = (TermFilter)notFilter.Filter; termFilter.Value.Equals(42).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName<TestData, int>(x => x.Id)); }
public void GivenAnExpressionWithNegatedBooleanMember_ShouldAddANotFilterWithATermFilterWithMemberAsFieldAndTrueAsValue() { var client = new Client("", ""); var filter = client.WhereFilter<TestData>(x => !x.Bool); filter.Should().BeOfType<NotFilter>(); var notFilter = (NotFilter) filter; notFilter.Filter.Should().BeOfType<TermFilter>(); var termFilter = (TermFilter)notFilter.Filter; termFilter.Should().NotBeNull(); termFilter.Value.Equals(true).Should().BeTrue(); termFilter.Field.Should().Be(client.GetFieldName<TestData, bool>(x => x.Bool)); }