In class HMACBlake2B, there is a constructor overload that accepts the desired implementation which is then assigned to an instance field "_createImpl", but the provided function is never invoked, always "CreateImplementation" is used to initialize the implementation. As a consequence, the tests are not testing both implementations but the same implementation twice.
In class HMACBlake2B, there is a constructor overload that accepts the desired implementation which is then assigned to an instance field "_createImpl", but the provided function is never invoked, always "CreateImplementation" is used to initialize the implementation. As a consequence, the tests are not testing both implementations but the same implementation twice.