shine-store 0.2.0

SHINE. Storage and container module for the shine engine.
extern crate shine_store;
extern crate shine_testutils;
#[macro_use]
extern crate log;
extern crate env_logger;

use shine_store::stdext::*;
use shine_testutils::*;

#[test]
fn lower_bound() {
    init_test_logger(module_path!());

    let b: [u32; 0] = [];
    assert_eq!(b.lower_bound(&0), 0);

    let b = [1, 3, 3, 5];
    assert_eq!(b.lower_bound(&0), 0);
    assert_eq!(b.lower_bound(&1), 0);
    assert_eq!(b.lower_bound(&2), 1);
    assert_eq!(b.lower_bound(&3), 1);
    assert_eq!(b.lower_bound(&4), 3);
    assert_eq!(b.lower_bound(&5), 3);
    assert_eq!(b.lower_bound(&6), 4);

    let b = [1, 3, 3, 3, 3, 3, 5];
    assert_eq!(b.lower_bound(&0), 0);
    assert_eq!(b.lower_bound(&1), 0);
    assert_eq!(b.lower_bound(&2), 1);
    assert_eq!(b.lower_bound(&3), 1);
    assert_eq!(b.lower_bound(&4), 6);
    assert_eq!(b.lower_bound(&5), 6);
    assert_eq!(b.lower_bound(&6), 7);
}