learn desing_pattern testing