dbc_rs/version/builder/
impls.rs1use super::VersionBuilder;
2
3impl VersionBuilder {
4 pub fn new() -> Self {
17 Self { version: None }
18 }
19
20 #[must_use = "builder method returns modified builder"]
38 pub fn version(mut self, version: impl AsRef<str>) -> Self {
39 self.version = Some(version.as_ref().to_string());
40 self
41 }
42}
43
44impl Default for VersionBuilder {
45 fn default() -> Self {
46 Self::new()
47 }
48}
49
50#[cfg(test)]
51mod tests {
52 use super::VersionBuilder;
53
54 #[test]
55 fn test_version_builder_version_string() {
56 let version = VersionBuilder::new().version("1.0").build().unwrap();
57 assert_eq!(version.as_str(), "1.0");
58 }
59
60 #[test]
61 fn test_version_builder_with_special_chars() {
62 let version = VersionBuilder::new().version("1.0-beta").build().unwrap();
63 assert_eq!(version.as_str(), "1.0-beta");
64 }
65
66 #[test]
67 fn test_version_builder_long_version() {
68 let long_version = "1.2.3.4.5.6.7.8.9.10";
69 let version = VersionBuilder::new().version(long_version).build().unwrap();
70 assert_eq!(version.as_str(), long_version);
71 }
72}