Пример #1
0
            public void Include_OnAlreadyInclude_Fail()
            {
                var harvester = new SelectiveHarvester();

                harvester.Exclude <A>(x => x.X);
                harvester.Include <A>(x => x.X);
            }
Пример #2
0
            public void Exclude_OnAlreadyFilter_Fail()
            {
                var harvester = new SelectiveHarvester();

                harvester.AddFilter <A>(x => null);
                harvester.Exclude <A>(x => x.X);
            }
Пример #3
0
            public void Fieldsarr_WorksForTypesAndSubtypes()
            {
                var harvester = new SelectiveHarvester();

                harvester.Exclude <A>(x => x.X, x => x.Y);

                Asserts(harvester);
            }
Пример #4
0
            public void ExcludeFilter_ForTypesAndSubtypes()
            {
                var selective = new SelectiveHarvester();

                selective.AddFilter <A>(
                    x => x.Where(y => y.SanitizedName != "X" && y.SanitizedName != "Y"));

                Asserts(selective);
            }
Пример #5
0
            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);
            }
Пример #6
0
        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)));
        }
Пример #7
0
            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);
 }
Пример #10
0
      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)));
      }
Пример #11
0
 public void Exclude_OnAlreadyFilter_Fail()
 {
   var harvester = new SelectiveHarvester();
   harvester.AddFilter<A>(x => null);
   harvester.Exclude<A>(x => x.X);
 }
Пример #12
0
      public void Fieldsarr_WorksForTypesAndSubtypes()
      {
        var harvester = new SelectiveHarvester();
        harvester.Exclude<A>(x => x.X, x => x.Y);

        Asserts(harvester);
      }
Пример #13
0
 public void AddExclude_FieldOnDifferentType_Fail()
 {
   var harvester = new SelectiveHarvester();
   harvester.Exclude<A>(x => x.X.Year);
 }
Пример #14
0
            public void AddExclude_FieldOnDifferentType_Fail()
            {
                var harvester = new SelectiveHarvester();

                harvester.Exclude <A>(x => x.X.Year);
            }
Пример #15
0
      public void ExcludeFilter_ForTypesAndSubtypes()
      {
        var selective = new SelectiveHarvester();
        selective.AddFilter<A>(
          x => x.Where(y => y.SanitizedName != "X" && y.SanitizedName != "Y"));

        Asserts(selective);
      }
Пример #16
0
      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);
      }
Пример #17
0
 /// <summary>
 /// Adds to the configuration a <see cref="StatePrinter.FieldHarvesters.SelectiveHarvester"/> and returns it.
 /// </summary>
 public SelectiveHarvester SelectiveHarvester()
 {
     return(selective ?? (selective = new SelectiveHarvester(this)));
 }
Пример #18
0
 /// <summary>
 /// Adds to the configuration a <see cref="StatePrinter.FieldHarvesters.SelectiveHarvester"/> and returns it.
 /// </summary>
 public SelectiveHarvester SelectiveHarvester()
 {
   return selective ?? (selective = new SelectiveHarvester(this));
 }