1 // run-pass
2 
3 use std::string::String;
4 
test_stack_assign()5 fn test_stack_assign() {
6     let s: String = "a".to_string();
7     println!("{}", s.clone());
8     let t: String = "a".to_string();
9     assert_eq!(s, t);
10     let u: String = "b".to_string();
11     assert!((s != u));
12 }
13 
test_heap_lit()14 fn test_heap_lit() { "a big string".to_string(); }
15 
test_heap_assign()16 fn test_heap_assign() {
17     let s: String = "a big ol' string".to_string();
18     let t: String = "a big ol' string".to_string();
19     assert_eq!(s, t);
20     let u: String = "a bad ol' string".to_string();
21     assert!((s != u));
22 }
23 
test_heap_log()24 fn test_heap_log() {
25     let s = "a big ol' string".to_string();
26     println!("{}", s);
27 }
28 
test_append()29 fn test_append() {
30     let mut s = String::new();
31     s.push_str("a");
32     assert_eq!(s, "a");
33 
34     let mut s = String::from("a");
35     s.push_str("b");
36     println!("{}", s.clone());
37     assert_eq!(s, "ab");
38 
39     let mut s = String::from("c");
40     s.push_str("offee");
41     assert_eq!(s, "coffee");
42 
43     s.push_str("&tea");
44     assert_eq!(s, "coffee&tea");
45 }
46 
main()47 pub fn main() {
48     test_stack_assign();
49     test_heap_lit();
50     test_heap_assign();
51     test_heap_log();
52     test_append();
53 }
54