basicmethod 0.1.2

Add constructor, get and set method using derive macro
Documentation
use basicmethod::BasicMethod;

#[derive(BasicMethod)]
/// A struct to create dog, cat or others animal
struct Animal {
    #[only="get"] name: String,
    #[only="set"] age: u16,
    sound: String,
}

#[test] fn test1() {
    let dog = Animal::new("Micho".into(), 8, "Woof".into());

    assert_eq!("Micho", dog.get_name().as_str());
    assert_eq!("Woof", dog.get_sound().as_str());
}

#[test] fn test2() {
    let mut dog = Animal::new("Micho".into(), 8, "Woof".to_string());
    
    dog.set_age(15);
    dog.set_sound("goof".into());

    assert_eq!("Micho", dog.get_name().as_str());
    assert_eq!(15, dog.age);
    assert_eq!("goof", dog.get_sound().as_str());
    assert_eq!("A struct to create dog, cat or others animal", Animal::info());
}


#[derive(BasicMethod)]
/// Unit struct
struct Unit;

#[test] fn test3() {
    assert_eq!("Unit struct", Unit::info());
}

#[derive(BasicMethod)]
/// Tuple struct
struct User(u32, String);

#[test] fn test4() {
    let mut user = User(11, "Robert".to_string());

    assert_eq!("Tuple struct", User::info());
    assert_eq!(11u32, *user.get_u32_0());
    
    user.set_String_1("William".to_string());
    assert_eq!("William", user.get_String_1());
}