mpdclient 0.2.0

Rust interface to MPD using libmpdclient
Documentation
use crate::common::setup_mpd;

mod common;

#[test]
fn get_volume() -> eyre::Result<()> {
    setup_mpd(
        |_| Ok(()),
        |conn| {
            assert_eq!(conn.mixer().get_volume()?, 100);
            Ok(())
        },
    )
}

#[test]
fn set_volume() -> eyre::Result<()> {
    setup_mpd(
        |_| Ok(()),
        |conn| {
            let mixer = conn.mixer();
            mixer.set_volume(55)?;
            assert_eq!(mixer.get_volume()?, 55);
            Ok(())
        },
    )
}

#[test]
fn change_volume() -> eyre::Result<()> {
    setup_mpd(
        |_| Ok(()),
        |conn| {
            let mixer = conn.mixer();
            mixer.change_volume(-10)?;
            assert_eq!(mixer.get_volume()?, 90);
            Ok(())
        },
    )
}