wal_css/
id_generator.rs

1pub(crate) struct IdGenerator {
2    next_id: u8,
3}
4
5impl IdGenerator {
6    pub fn new() -> Self {
7        IdGenerator { next_id: 0 }
8    }
9
10    pub fn get_new_id(&mut self) -> u8 {
11        let id = self.next_id;
12        self.next_id += 1;
13        id
14    }
15}
16
17impl Default for IdGenerator {
18    fn default() -> Self {
19        Self::new()
20    }
21}
22
23#[cfg(test)]
24mod tests {
25
26    use super::IdGenerator;
27
28    #[test]
29    fn generator_generates_new_ids() {
30        let mut gen = IdGenerator::new();
31
32        assert_eq!(0, gen.get_new_id());
33        assert_eq!(1, gen.get_new_id());
34        assert_eq!(2, gen.get_new_id());
35    }
36}