Как проверить, добавлен ли подтип модели типа Protobuf? - PullRequest
0 голосов
/ 26 сентября 2019

Допустим, в одном из модулей проекта у меня есть ProtoBufSpecification, которая содержит

typemodel[typeof(IReturn<IProtobufBody>)].AddSubType(1274, typeof(ServerElectionDto));

, это правильно, и я хочу написать интеграционные тесты, которые проверяют, чтобы все экземпляры, которые реализуют IReturn<IProtobufBody>, имели предварительный контракт ирасширить подтип, как показано ранее.Я могу выполнить первую часть:

public interface IMetaType
{
    ValueMember this[MemberInfo member] { get; }
    ValueMember AddField(int fieldNumber, string memberName);
    IMetaType AddSubType(int fieldNumber, Type derivedType, DataFormat dataFormat);
    IMetaType AddSubType(int fieldNumber, Type derivedType);
    void SetSurrogate(Type surrogateType);
}

public interface IRuntimeTypeModel
{
    IMetaType this[Type type] { get; }
    IMetaType Add(Type type, bool applyDefaultBehaviour);
}

и создать мягкую точку для ввода моего макета в спецификации IProtocolSpecification

public void Initialize(RuntimeTypeModel typemodel)
{
    Initializer(typemodel);
}
public void Initializer(dynamic typemodel)

Есть ли более простой способ сделать это?

...