1use local_issues_lib::{Comment, Issue, Issues, user::User};
4
5fn main() {
6 let mut issues = Issues::new();
8 println!("Initial issues count: {}", issues.get_list().len());
9
10 let user = User::new("Alice", "alice@example.com");
12
13 let mut new_issue = Issue::new("Add better documentation", user.clone(), vec!["Enhance"]);
15
16 let comment = Comment::new("I think we should add more examples.", user.clone());
18 new_issue.comment(comment);
19
20 let issue_index = issues.add_new_issue(new_issue);
22 println!("Added new issue at index: {}", issue_index);
23
24 println!("\nAll Issues:");
26 for (i, issue) in issues.get_list().iter().enumerate() {
27 println!("Issue #{}: {:?}", i, issue);
28 }
29
30 if let Some(found_issues) = issues.find_from_title("documentation") {
32 println!(
33 "\nFound {} issues matching 'documentation'",
34 found_issues.len()
35 );
36 }
37
38 if let Some(forked_index) = issues.fork(1) {
40 println!("\nForked issue #1 to new issue #{}", forked_index);
41 let forked_issue = issues.get(forked_index).unwrap();
42 println!("Forked issue details: {:?}", forked_issue);
43
44 let original_issue = issues.get(1).unwrap();
45 println!("Original issue status after fork: {:?}", original_issue);
46 }
47}