Skip to content

Commit e6c487c

Browse files
authored
Merge pull request #13 from Jannis/jannis/number-from-i64
Implement From<i64> for Number (with tests)
2 parents e07660f + 7cf1e4b commit e6c487c

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/common.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,11 @@ impl Number {
5858
}
5959
}
6060

61+
impl From<i64> for Number {
62+
fn from(i: i64) -> Self {
63+
Number(i)
64+
}
65+
}
6166

6267
pub fn directives<'a>(input: &mut TokenStream<'a>)
6368
-> ParseResult<Vec<Directive>, TokenStream<'a>>
@@ -254,3 +259,16 @@ pub fn parse_type<'a>(input: &mut TokenStream<'a>)
254259
)
255260
.parse_stream(input)
256261
}
262+
263+
#[cfg(test)]
264+
mod tests {
265+
use super::Number;
266+
267+
#[test]
268+
fn number_and_i64_conversion() {
269+
assert_eq!(Number::from(1).as_i64(), Some(1));
270+
assert_eq!(Number::from(584).as_i64(), Some(584));
271+
assert_eq!(Number::from(i64::min_value()).as_i64(), Some(i64::min_value()));
272+
assert_eq!(Number::from(i64::max_value()).as_i64(), Some(i64::max_value()));
273+
}
274+
}

0 commit comments

Comments
 (0)