What is wrong with making a unit test a friend of the class it is testing? [duplicate]

Ideally, you shouldn’t need to unit test private methods at all. All a consumer of your class should care about is the public interface, so that’s what you should test. If a private method has a bug, it should be caught by a unit test that invokes some public method on the class which eventually … Read more

“public” or “private” attribute in Python ? What is the best way?

Typically, Python code strives to adhere to the Uniform Access Principle. Specifically, the accepted approach is: Expose your instance variables directly, allowing, for instance, foo.x = 0, not foo.set_x(0) If you need to wrap the accesses inside methods, for whatever reason, use @property, which preserves the access semantics. That is, foo.x = 0 now invokes … Read more

Can I access private members from outside the class without using friends?

If the class contains any template member functions you can specialize that member function to suit your needs. Even if the original developer didn’t think of it. safe.h class safe { int money; public: safe() : money(1000000) { } template <typename T> void backdoor() { // Do some stuff. } }; main.cpp: #include <safe.h> #include … Read more

C#: Difference between List and Collection (CA1002, Do not expose generic lists) [duplicate]

In short, the generic list does not have virtual methods for Add, Remove etc, as it was designed to be fast, not extensible. This means that you cannot swap this concrete implementation out for a useful subclass (even though you can subclass it as it is not sealed). Therefore, by exposing the List itself, you … Read more

IEnumerable vs IReadonlyCollection vs ReadonlyCollection for exposing a list member

One important aspect seems to be missing from the answers so far: When an IEnumerable<T> is returned to the caller, they must consider the possibility that the returned object is a “lazy stream”, e.g. a collection built with “yield return”. That is, the performance penalty for producing the elements of the IEnumerable<T> may have to … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)