#![cfg_attr(rustfmt, rustfmt_skip)]
extern crate cognitive_qualia as qualia;
extern crate cognitive_frames as frames;
mod common;
use qualia::{Position, SurfaceContext, SurfaceId, WorkspaceInfo, WorkspaceState};
use frames::Converting;
use common::layouts;
use common::surface_listing_mock::SurfaceListingMock;
#[test]
fn test_converting_two_workspaces_to_array() {
let (r, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) =
layouts::make_positioned_for_displaying();
let surface_listing = SurfaceListingMock::new();
let array = r.to_array(Position::new(1, 2), &surface_listing);
let expected = vec![
SurfaceContext::new(SurfaceId::new(101), Position::new(1, 2)),
SurfaceContext::new(SurfaceId::new(102), Position::new(1, 102)),
SurfaceContext::new(SurfaceId::new(1), Position::new(101, 102)),
SurfaceContext::new(SurfaceId::new(2), Position::new(101, 102)),
SurfaceContext::new(SurfaceId::new(3), Position::new(101, 102)),
SurfaceContext::new(SurfaceId::new(4), Position::new(101, 102)),
SurfaceContext::new(SurfaceId::new(5), Position::new(101, 202)),
SurfaceContext::new(SurfaceId::new(6), Position::new(101, 302)),
];
assert_eq!(array.len(), expected.len());
for (context, expected_context) in array.iter().zip(expected) {
assert_eq!(*context, expected_context);
}
r.destroy();
}
#[test]
fn test_converting_to_workspaces() {
let (r, _, _, _, _, _, _, _, _) = layouts::make_simple_with_workspaces();
let mut expected = WorkspaceState::empty();
expected.workspaces.insert(1, vec![WorkspaceInfo::new("11".to_string(), true),
WorkspaceInfo::new("12".to_string(), false)]);
expected.workspaces.insert(2, vec![WorkspaceInfo::new("21".to_string(), true),
WorkspaceInfo::new("22".to_string(), false)]);
assert_eq!(expected, r.to_workspace_state());
r.destroy();
}