test factorial