Вы можете использовать пакет units
для этого.
library(units)
pi_rad <- as_units(pi, "radians")
pi_deg <- set_units(pi_rad, "degrees")
set_units(pi_deg, "radians")
В группе RhinoMocks уже существует поток.
GenerateMock создает динамический макет. Динамический макет разрешает вызовы, которые не указаны (= ожидаемые). Если это произойдет, он просто вернет null (или значение по умолчанию для возвращаемого типа).
Примечание: Repeat - это спецификация поведения (например, Stub), а не ожидание , даже если оно указано в ожидании.
Если вы хотите избежать более определенного числа вызовов, можно было написать:
Я занимаюсь биоинформатикой, поэтому мой совет может быть необъективным. Тем не менее, я всегда использую переключатель -O3
(то есть для выпускных и тестовых сборок; обычно не для отладки). Правда, у него есть определенные недостатки, а именно увеличение времени компиляции и часто размер исполняемого файла.
Однако первый фактор может быть частично смягчен хорошей стратегией сборки и другими уловками, сокращающими общее время сборки. Кроме того, поскольку большая часть компиляции действительно связана с вводом-выводом, увеличение времени компиляции часто не , как .
Второй недостаток, размер исполняемого файла, часто просто не имеет значения. .
Никогда.
Используйте -O3 -Wall -Werror -std = [независимо от того, чему должна следовать ваша база кода]
Обычно наша среда сборки настроена так, чтобы мы могли создавать отладочные сборки , которые используют -O0 и сборки выпуска , которые используют -O3 ( build enviroment сохраняет объекты и библиотеки всех конфигураций, чтобы можно было легко переключаться между конфигурациями). Во время разработки в основном создается и запускается конфигурация отладки для более высокой скорости сборки (и более точной отладочной информации), а реже также выполняется сборка и тестирование конфигурации выпуска.
Действительно ли заметно увеличенное время компиляции? Я все время использую -O2 по умолчанию, что-то меньшее просто оставляет много "трений" в вашем коде. Также обратите внимание, что уровни оптимизации -O1, -O2, как правило, лучше всего тестируются, поскольку они наиболее интересны. -O0 имеет тенденцию быть более ошибочной, и вы можете довольно хорошо отлаживать в -O2 по моему опыту. Если у вас есть некоторое представление о том, что компилятор может делать с точки зрения переупорядочения кода, встраивания и т. Д.
-Werror -Wall необходим.
Всегда, кроме случаев, когда вы программируете и просто хотите проверить то, что вы только что написали.