| 712 | |
| 713 | #[test] |
| 714 | fn test_extract_methods() { |
| 715 | let mut parser = JavaParser::new(); |
| 716 | let source = r#" |
| 717 | public class App { |
| 718 | public String greet(String name) { |
| 719 | return "Hello, " + name; |
| 720 | } |
| 721 | |
| 722 | private void helper() { |
| 723 | } |
| 724 | |
| 725 | public static void main(String[] args) { |
| 726 | } |
| 727 | } |
| 728 | "#; |
| 729 | let entities = parser.extract(source, "App.java"); |
| 730 | |
| 731 | let greet = entities.iter().find(|e| e.name == "greet"); |
| 732 | assert!(greet.is_some(), "Should find greet method"); |
| 733 | assert_eq!(greet.unwrap().kind, EntityKind::Method); |
| 734 | assert!(greet.unwrap().exported); |
| 735 | assert!( |
| 736 | greet |
| 737 | .unwrap() |
| 738 | .signature |
| 739 | .as_ref() |
| 740 | .unwrap() |
| 741 | .contains("String greet"), |
| 742 | "Signature: {:?}", |
| 743 | greet.unwrap().signature |
| 744 | ); |
| 745 | |
| 746 | let helper = entities.iter().find(|e| e.name == "helper"); |
| 747 | assert!(helper.is_some(), "Should find helper method"); |
| 748 | assert!( |
| 749 | !helper.unwrap().exported, |
| 750 | "private method should not be exported" |
| 751 | ); |
| 752 | |
| 753 | let main = entities.iter().find(|e| e.name == "main"); |
| 754 | assert!(main.is_some(), "Should find main method"); |
| 755 | assert!( |
| 756 | main.unwrap().signature.as_ref().unwrap().contains("static"), |
| 757 | "Main signature should contain static: {:?}", |
| 758 | main.unwrap().signature |
| 759 | ); |
| 760 | } |
| 761 | |
| 762 | #[test] |
| 763 | fn test_extract_constructor() { |