public void Include_OnAlreadyInclude_Fail() { var harvester = new SelectiveHarvester(); harvester.Exclude <A>(x => x.X); harvester.Include <A>(x => x.X); }
public void Exclude_OnAlreadyFilter_Fail() { var harvester = new SelectiveHarvester(); harvester.AddFilter <A>(x => null); harvester.Exclude <A>(x => x.X); }
public void Fieldsarr_WorksForTypesAndSubtypes() { var harvester = new SelectiveHarvester(); harvester.Exclude <A>(x => x.X, x => x.Y); Asserts(harvester); }
public void ExcludeFilter_ForTypesAndSubtypes() { var selective = new SelectiveHarvester(); selective.AddFilter <A>( x => x.Where(y => y.SanitizedName != "X" && y.SanitizedName != "Y")); Asserts(selective); }
public void WrongSpec_Fail() { var harvester = new SelectiveHarvester(); var ex = Assert.Throws <ArgumentException>(() => harvester.Exclude <A>(x => Math.Min(3, 3))); Assert.AreEqual("Field specification must refer to a field", ex.Message); ex = Assert.Throws <ArgumentException>(() => harvester.Exclude <A>(x => 1)); Assert.AreEqual("Field specification must refer to a field", ex.Message); }
static void Asserts(SelectiveHarvester harvester) { IFieldHarvester fh = (IFieldHarvester)harvester; Assert.IsTrue(fh.CanHandleType(typeof(A))); var fields = fh.GetFields(typeof(A)).Select(x => x.SanitizedName); CollectionAssert.AreEquivalent(new[] { "Name" }, fields); Assert.IsTrue(fh.CanHandleType(typeof(B))); fields = fh.GetFields(typeof(B)).Select(x => x.SanitizedName); CollectionAssert.AreEquivalent(new[] { "Name", "Age" }, fields); Assert.IsFalse(fh.CanHandleType(typeof(C))); }
public void Include_Fieldsarr_WorksForTypesAndSubtypes() { var harvester = new SelectiveHarvester(); harvester.Include <B>(x => x.Name, x => x.Age); IFieldHarvester fh = (IFieldHarvester)harvester; Assert.IsFalse(fh.CanHandleType(typeof(A))); Assert.IsTrue(fh.CanHandleType(typeof(B))); var fields = fh.GetFields(typeof(B)).Select(x => x.SanitizedName); CollectionAssert.AreEquivalent(new[] { "Name", "Age" }, fields); Assert.IsFalse(fh.CanHandleType(typeof(C))); }
static void Asserts(SelectiveHarvester harvester) { IFieldHarvester fh = (IFieldHarvester) harvester; Assert.IsTrue(fh.CanHandleType(typeof (A))); var fields = fh.GetFields(typeof (A)).Select(x => x.SanitizedName); CollectionAssert.AreEquivalent(new[] {"Name"}, fields); Assert.IsTrue(fh.CanHandleType(typeof (B))); fields = fh.GetFields(typeof (B)).Select(x => x.SanitizedName); CollectionAssert.AreEquivalent(new[] {"Name", "Age"}, fields); Assert.IsFalse(fh.CanHandleType(typeof (C))); }
public void Include_OnAlreadyInclude_Fail() { var harvester = new SelectiveHarvester(); harvester.Exclude<A>(x => x.X); harvester.Include<A>(x => x.X); }
public void Include_Fieldsarr_WorksForTypesAndSubtypes() { var harvester = new SelectiveHarvester(); harvester.Include<B>(x => x.Name, x => x.Age); IFieldHarvester fh = (IFieldHarvester) harvester; Assert.IsFalse(fh.CanHandleType(typeof (A))); Assert.IsTrue(fh.CanHandleType(typeof (B))); var fields = fh.GetFields(typeof (B)).Select(x => x.SanitizedName); CollectionAssert.AreEquivalent(new[] {"Name", "Age"}, fields); Assert.IsFalse(fh.CanHandleType(typeof (C))); }
public void Exclude_OnAlreadyFilter_Fail() { var harvester = new SelectiveHarvester(); harvester.AddFilter<A>(x => null); harvester.Exclude<A>(x => x.X); }
public void Fieldsarr_WorksForTypesAndSubtypes() { var harvester = new SelectiveHarvester(); harvester.Exclude<A>(x => x.X, x => x.Y); Asserts(harvester); }
public void AddExclude_FieldOnDifferentType_Fail() { var harvester = new SelectiveHarvester(); harvester.Exclude<A>(x => x.X.Year); }
public void AddExclude_FieldOnDifferentType_Fail() { var harvester = new SelectiveHarvester(); harvester.Exclude <A>(x => x.X.Year); }
public void ExcludeFilter_ForTypesAndSubtypes() { var selective = new SelectiveHarvester(); selective.AddFilter<A>( x => x.Where(y => y.SanitizedName != "X" && y.SanitizedName != "Y")); Asserts(selective); }
public void WrongSpec_Fail() { var harvester = new SelectiveHarvester(); var ex = Assert.Throws<ArgumentException>(() => harvester.Exclude<A>(x => Math.Min(3, 3))); Assert.AreEqual("Field specification must refer to a field", ex.Message); ex = Assert.Throws<ArgumentException>(() => harvester.Exclude<A>(x => 1)); Assert.AreEqual("Field specification must refer to a field", ex.Message); }
/// <summary> /// Adds to the configuration a <see cref="StatePrinter.FieldHarvesters.SelectiveHarvester"/> and returns it. /// </summary> public SelectiveHarvester SelectiveHarvester() { return(selective ?? (selective = new SelectiveHarvester(this))); }
/// <summary> /// Adds to the configuration a <see cref="StatePrinter.FieldHarvesters.SelectiveHarvester"/> and returns it. /// </summary> public SelectiveHarvester SelectiveHarvester() { return selective ?? (selective = new SelectiveHarvester(this)); }