Решение состоит в том, чтобы использовать для свойства virtual.
public virtual string[] Content { get; set; }
Но если два противоположных теста возвращают True одновременно, у нас есть ошибка. Можно объяснить причину и указать решение, но это обходной путь.
По моему мнению, это должно вызвать исключение (например, NotSupportedException, когда тест выполняется на не виртуальных свойствах). Ожидается, что среда тестирования обнаружит проблемы. Так и должно быть пессимисти c. В этом случае лучше вернуть false вместо true. Подписать с разработчиком проблему (даже если это в рамках). Например, в SQL при попытке проверить нулевое значение всегда будет возвращаться false (null == true, null == 0 или даже null == null). Это только моя точка зрения. Что вы, ребята, думаете об этом?