public static ISpecNodeMapBuilder AddBoth(this ISpecNodeMapBuilder specNodeMapBuilder, Type specType,
                                           int id, int notId)
 {
     specNodeMapBuilder.Add(specType, id);
     specNodeMapBuilder.AddNot(specType, notId);
     return(specNodeMapBuilder);
 }
        public static ISpecNodeMapBuilder StartFrom(this ISpecNodeMapBuilder specNodeMapBuilder, int startId,
                                                    Action <IAutoSpecNodeMapBuilder> action)
        {
            if (startId <= ReservedThreshold || startId == SpecNodeMapBuilder.UndefinedId)
            {
                throw new ArgumentException($"{startId} must be more than reserved ids({ReservedThreshold}) and " +
                                            $"not equal undefined id({SpecNodeMapBuilder.UndefinedId})");
            }

            return(StartFromImpl(specNodeMapBuilder, startId, id => id + 1, action));
        }
示例#3
0
 public static ISpecConclusions <T> For <T>(ISpecNodeMapBuilder specNodeMapBuilder) =>
 new SpecConclusions <T>(specNodeMapBuilder);
 public SpecConclusion(IMemberNode <TRoot, T> memberNode, ICompositeSpec <T> spec,
                       ISpecNodeMapBuilder specNodeMapBuilder) =>
 (_memberNode, _spec, _specNodeMapBuilder) = (memberNode, spec, specNodeMapBuilder);
 private static ISpecNodeMapBuilder StartFromImpl(ISpecNodeMapBuilder specNodeMapBuilder, int startId,
                                                  Func <int, int> func, Action <IAutoSpecNodeMapBuilder> action)
 {
     action(new AutoSpecNodeMapBuilder(specNodeMapBuilder, startId, func));
     return(specNodeMapBuilder);
 }
 internal static ISpecNodeMapBuilder StartFromReserved(this ISpecNodeMapBuilder specNodeMapBuilder,
                                                       Action <IAutoSpecNodeMapBuilder> action) =>
 StartFromImpl(specNodeMapBuilder, ReservedThreshold, id => id - 1, action);
示例#7
0
 public SpecConclusions(IEnumerable <ISpecConclusion <TRoot> > specConclusions, ISpecNodeMapBuilder specNodeMapBuilder) =>
 (_specConclusions, _specNodeMapBuilder) = (specConclusions, specNodeMapBuilder);
示例#8
0
 public SpecConclusions(ISpecNodeMapBuilder specNodeMapBuilder)
     : this(Enumerable.Empty <ISpecConclusion <TRoot> >(), specNodeMapBuilder)
 {
 }
 public AutoSpecNodeMapBuilder(ISpecNodeMapBuilder specNodeMapBuilder, int startId, Func <int, int> changeId) =>
 (_specNodeMapBuilder, _currentId, _changeId) = (specNodeMapBuilder, startId, changeId);