test data type factori model implement data type factori 