From f179d813e1656c2bca07bbb8c86a3a53278044c8 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Fri, 13 Apr 2018 18:32:53 +0200 Subject: meetup(generate): Improve test and take a reference argument * Take a `Vec` reference instead of an object. This is the result of messing around with calling the function in the test. * Update the test to actually make assertions on the result of the function. --- src/meetup_rss.rs | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) (limited to 'src/meetup_rss.rs') diff --git a/src/meetup_rss.rs b/src/meetup_rss.rs index 6879082..7e2989a 100644 --- a/src/meetup_rss.rs +++ b/src/meetup_rss.rs @@ -2,12 +2,12 @@ use rss::{Channel, ChannelBuilder, Item}; use meetup::event::Event; -pub fn generate(events: Vec) -> Result { +pub fn generate(events: &Vec) -> Result { let items: Vec = events.into_iter().map(|event| { let mut item = Item::default(); - item.set_title(event.name); - item.set_link(event.link); - item.set_description(event.description); + item.set_title(event.name.clone()); + item.set_link(event.link.clone()); + item.set_description(event.description.clone()); item }).collect(); @@ -27,18 +27,24 @@ mod tests { use super::*; #[test] - fn test_generate_builds_a_channel() { - let x = generate( - vec![ - Event { - name: "Summer Sun Celebration".to_owned(), - description: "Description".to_owned(), - link: "http://example.com".to_owned(), - local_date: "2018-04-13".to_owned(), - local_time: "18:30".to_owned(), - } - ] - ); - println!("{:?}", x); + fn test_generate_builds_a_channel_of_events() { + let events = vec![ + Event { + name: "Summer Sun Celebration".to_owned(), + description: "Description".to_owned(), + link: "http://example.com".to_owned(), + local_date: "2018-04-13".to_owned(), + local_time: "18:30".to_owned(), + } + ]; + let event = &events[0]; + + let channel = generate(&events).unwrap(); + + let item = channel.items().first().unwrap(); + + assert_eq!(event.name, item.title().unwrap()); + assert_eq!(event.link, item.link().unwrap()); + assert_eq!(event.description, item.description().unwrap()); } } -- cgit v1.2.3