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