| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | use lib_ot::core::{Changeset, NodeOperation};#[test]fn operation_insert_compose_delta_update_test() {    let insert_operation = NodeOperation::Insert {        path: 0.into(),        nodes: vec![],    };    let update_operation = NodeOperation::Update {        path: 0.into(),        changeset: Changeset::Delta {            delta: Default::default(),            inverted: Default::default(),        },    };    assert!(insert_operation.can_compose(&update_operation))}#[test]fn operation_insert_compose_attribute_update_test() {    let insert_operation = NodeOperation::Insert {        path: 0.into(),        nodes: vec![],    };    let update_operation = NodeOperation::Update {        path: 0.into(),        changeset: Changeset::Attributes {            new: Default::default(),            old: Default::default(),        },    };    assert!(!insert_operation.can_compose(&update_operation))}#[test]fn operation_insert_compose_update_with_diff_path_test() {    let insert_operation = NodeOperation::Insert {        path: 0.into(),        nodes: vec![],    };    let update_operation = NodeOperation::Update {        path: 1.into(),        changeset: Changeset::Attributes {            new: Default::default(),            old: Default::default(),        },    };    assert!(!insert_operation.can_compose(&update_operation))}#[test]fn operation_insert_compose_insert_operation_test() {    let insert_operation = NodeOperation::Insert {        path: 0.into(),        nodes: vec![],    };    assert!(!insert_operation.can_compose(&NodeOperation::Insert {        path: 0.into(),        nodes: vec![],    }),)}#[test]fn operation_update_compose_insert_operation_test() {    let update_operation = NodeOperation::Update {        path: 0.into(),        changeset: Changeset::Attributes {            new: Default::default(),            old: Default::default(),        },    };    assert!(!update_operation.can_compose(&NodeOperation::Insert {        path: 0.into(),        nodes: vec![],    }))}#[test]fn operation_update_compose_update_test() {    let update_operation_1 = NodeOperation::Update {        path: 0.into(),        changeset: Changeset::Attributes {            new: Default::default(),            old: Default::default(),        },    };    let update_operation_2 = NodeOperation::Update {        path: 0.into(),        changeset: Changeset::Attributes {            new: Default::default(),            old: Default::default(),        },    };    assert!(update_operation_1.can_compose(&update_operation_2));}#[test]fn operation_update_compose_update_with_diff_path_test() {    let update_operation_1 = NodeOperation::Update {        path: 0.into(),        changeset: Changeset::Attributes {            new: Default::default(),            old: Default::default(),        },    };    let update_operation_2 = NodeOperation::Update {        path: 1.into(),        changeset: Changeset::Attributes {            new: Default::default(),            old: Default::default(),        },    };    assert!(!update_operation_1.can_compose(&update_operation_2));}#[test]fn operation_insert_compose_insert_test() {    let insert_operation_1 = NodeOperation::Insert {        path: 0.into(),        nodes: vec![],    };    let insert_operation_2 = NodeOperation::Insert {        path: 0.into(),        nodes: vec![],    };    assert!(!insert_operation_1.can_compose(&insert_operation_2));}
 |