1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
use super::dependencies::*;


/// Methods collection for generate data related to hardware
pub struct Hardware;

impl Hardware {
    /// Get a random screen resolution
    pub fn resolution() -> &'static str {
        get_random_element(RESOLUTIONS.iter())
    }

    /// Get a random size of screen in inch
    pub fn screen_size() -> &'static str {
        get_random_element(SCREEN_SIZES.iter())
    }

    /// Get a random CPU name
    pub fn cpu() -> &'static str {
        get_random_element(CPU.iter())
    }

    /// Get a random frequency of CPU
    pub fn cpu_frequency() -> String {
        format!("{:.1}GHz", uniform(1.5, 4.3))
    }

    /// Get a random generation
    pub fn generation() -> &'static str {
        get_random_element(GENERATION.iter())
    }

    /// Get a random CPU code name
    pub fn cpu_codename() -> &'static str {
        get_random_element(CPU_CODENAMES.iter())
    }
    
    /// Get a random RAM type
    pub fn ram_type() -> &'static str {
        get_random_element(RAM_TYPES.iter())
    }

    /// Get a random size of RAM
    pub fn ram_size() -> &'static str {
        get_random_element(RAM_SIZES.iter())
    }

    /// Get a random value from list
    pub fn ssd_or_hdd() -> &'static str {
        get_random_element(HDD_SSD.iter())
    }

    /// Get a random graphics
    pub fn graphics() -> &'static str {
        get_random_element(GRAPHICS.iter())
    }

    /// Get a random manufacturer
    pub fn manufacturer() -> &'static str {
        get_random_element(MANUFACTURERS.iter())
    }

    /// Get a random phone model
    pub fn phone_model() -> &'static str {
        get_random_element(PHONE_MODELS.iter())
    }
}