stego 0.1.4

A steganographic swiss army knife
Documentation
use std::fs::File;
use std::io::prelude::*;
use std::path::{Path};
use stego::*;
use image::DynamicImage;

fn setup() -> LSBStego {
    let im: DynamicImage = image::open(&Path::new(&"./tests/img/test.png")).unwrap();
    let stego = LSBStego::new(im.clone());
    stego
}

#[test]
fn encode_decode_text(){
    let mut stego = setup();

    let msg = String::from("Hello, Stego!");

    let im2 = stego.encode_text(msg.clone());

    let mut stego = LSBStego::from_rgba(im2);

    let decoded = stego.decode_text();

    assert_eq!(msg, decoded);
}

#[test]
fn encode_decode_binary(){
    let mut stego = setup();

    let mut bytes = Vec::new();
    let mut file = File::open(&Path::new(&"./tests/img/beemoviescript")).unwrap();
    assert!(file.read_to_end(&mut bytes).is_ok());

    let im2 = stego.encode_binary(bytes.clone());

    let mut stego = LSBStego::from_rgba(im2);

    let decoded = stego.decode_binary();

    assert_eq!(bytes, decoded);
}