mockforge_data/
provider.rs1use crate::faker::EnhancedFaker;
2struct DataFakerProvider(std::sync::Mutex<EnhancedFaker>);
10
11impl DataFakerProvider {
12 fn new() -> Self {
13 Self(std::sync::Mutex::new(EnhancedFaker::new()))
14 }
15}
16
17pub fn register_core_faker_provider() {
62 }
66
67#[cfg(test)]
68mod tests {
69 use super::*;
70
71 #[test]
72 fn test_data_faker_provider_new() {
73 let _provider = DataFakerProvider::new();
74 }
76
77 #[test]
78 fn test_data_faker_provider_uuid() {
79 let provider = DataFakerProvider::new();
80 let mut faker = provider.0.lock().unwrap();
81 let uuid = faker.uuid();
82
83 assert_eq!(uuid.len(), 36);
84 assert!(uuid.contains('-'));
85 }
86
87 #[test]
88 fn test_data_faker_provider_email() {
89 let provider = DataFakerProvider::new();
90 let mut faker = provider.0.lock().unwrap();
91 let email = faker.email();
92
93 assert!(!email.is_empty());
94 assert!(email.contains('@'));
95 }
96
97 #[test]
98 fn test_data_faker_provider_name() {
99 let provider = DataFakerProvider::new();
100 let mut faker = provider.0.lock().unwrap();
101 let name = faker.name();
102
103 assert!(!name.is_empty());
104 }
105
106 #[test]
107 fn test_data_faker_provider_address() {
108 let provider = DataFakerProvider::new();
109 let mut faker = provider.0.lock().unwrap();
110 let address = faker.address();
111
112 assert!(!address.is_empty());
113 }
114
115 #[test]
116 fn test_data_faker_provider_phone() {
117 let provider = DataFakerProvider::new();
118 let mut faker = provider.0.lock().unwrap();
119 let phone = faker.phone();
120
121 assert!(!phone.is_empty());
122 }
123
124 #[test]
125 fn test_data_faker_provider_company() {
126 let provider = DataFakerProvider::new();
127 let mut faker = provider.0.lock().unwrap();
128 let company = faker.company();
129
130 assert!(!company.is_empty());
131 }
132
133 #[test]
134 fn test_data_faker_provider_url() {
135 let provider = DataFakerProvider::new();
136 let mut faker = provider.0.lock().unwrap();
137 let url = faker.url();
138
139 assert!(url.starts_with("https://"));
140 }
141
142 #[test]
143 fn test_data_faker_provider_ip() {
144 let provider = DataFakerProvider::new();
145 let mut faker = provider.0.lock().unwrap();
146 let ip = faker.ip_address();
147
148 assert!(!ip.is_empty());
149 assert!(ip.contains('.'));
150 }
151
152 #[test]
153 fn test_data_faker_provider_color() {
154 let provider = DataFakerProvider::new();
155 let mut faker = provider.0.lock().unwrap();
156 let color = faker.color();
157
158 let valid_colors = [
159 "red", "blue", "green", "yellow", "purple", "orange", "pink", "brown", "black", "white",
160 ];
161 assert!(valid_colors.contains(&color.as_str()));
162 }
163
164 #[test]
165 fn test_data_faker_provider_word() {
166 let provider = DataFakerProvider::new();
167 let mut faker = provider.0.lock().unwrap();
168 let word = faker.word();
169
170 assert!(!word.is_empty());
171 }
172
173 #[test]
174 fn test_data_faker_provider_sentence() {
175 let provider = DataFakerProvider::new();
176 let mut faker = provider.0.lock().unwrap();
177 let sentence = faker.sentence();
178
179 assert!(!sentence.is_empty());
180 }
181
182 #[test]
183 fn test_data_faker_provider_paragraph() {
184 let provider = DataFakerProvider::new();
185 let mut faker = provider.0.lock().unwrap();
186 let paragraph = faker.paragraph();
187
188 assert!(!paragraph.is_empty());
189 }
190
191 #[test]
192 fn test_register_core_faker_provider() {
193 register_core_faker_provider();
195 }
196}