public override void Process(IReflector reflector, Type type, IMethodRemover methodRemover, ISpecificationBuilder specification) { if (LongValueSemanticsProvider.IsAdaptedType(type)) { var spec = reflector.LoadSpecification <IObjectSpecImmutable>(LongValueSemanticsProvider.AdaptedType); AddValueFacets(new LongValueSemanticsProvider(spec, specification), specification); } }
public override void SetUp() { base.SetUp(); l = 32; holder = new Mock <ISpecification>().Object; IObjectSpecImmutable spec = new Mock <IObjectSpecImmutable>().Object; SetValue(value = new LongValueSemanticsProvider(spec, holder)); }
public override IImmutableDictionary <string, ITypeSpecBuilder> Process(IReflector reflector, Type type, IMethodRemover methodRemover, ISpecificationBuilder specification, IImmutableDictionary <string, ITypeSpecBuilder> metamodel) { if (!LongValueSemanticsProvider.IsAdaptedType(type)) { return(metamodel); } var(oSpec, mm) = reflector.LoadSpecification <IObjectSpecImmutable>(LongValueSemanticsProvider.AdaptedType, metamodel); AddValueFacets(new LongValueSemanticsProvider(oSpec, specification), specification); return(mm); }
public override ImmutableDictionary <string, ITypeSpecBuilder> Process(IReflector reflector, Type type, IMethodRemover methodRemover, ISpecificationBuilder specification, ImmutableDictionary <string, ITypeSpecBuilder> metamodel) { if (LongValueSemanticsProvider.IsAdaptedType(type)) { var result = reflector.LoadSpecification(LongValueSemanticsProvider.AdaptedType, metamodel); metamodel = result.Item2; var spec = result.Item1 as IObjectSpecImmutable; AddValueFacets(new LongValueSemanticsProvider(spec, specification), specification); } return(metamodel); }