|
@@ -102,55 +102,6 @@ impl NodeOperation {
|
|
|
#[cfg(test)]
|
|
|
mod tests {
|
|
|
use crate::core::{Delta, Node, NodeAttributes, NodeOperation, Path};
|
|
|
-
|
|
|
- #[test]
|
|
|
- fn test_transform_path_1() {
|
|
|
- assert_eq!(
|
|
|
- { Path::transform(&Path(vec![0, 1]), &Path(vec![0, 1]), 1) }.0,
|
|
|
- vec![0, 2]
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- #[test]
|
|
|
- fn test_transform_path_2() {
|
|
|
- assert_eq!(
|
|
|
- { Path::transform(&Path(vec![0, 1]), &Path(vec![0, 2]), 1) }.0,
|
|
|
- vec![0, 3]
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- #[test]
|
|
|
- fn test_transform_path_3() {
|
|
|
- assert_eq!(
|
|
|
- { Path::transform(&Path(vec![0, 1]), &Path(vec![0, 2, 7, 8, 9]), 1) }.0,
|
|
|
- vec![0, 3, 7, 8, 9]
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- #[test]
|
|
|
- fn test_transform_path_not_changed() {
|
|
|
- assert_eq!(
|
|
|
- { Path::transform(&Path(vec![0, 1, 2]), &Path(vec![0, 0, 7, 8, 9]), 1) }.0,
|
|
|
- vec![0, 0, 7, 8, 9]
|
|
|
- );
|
|
|
- assert_eq!(
|
|
|
- { Path::transform(&Path(vec![0, 1, 2]), &Path(vec![0, 1]), 1) }.0,
|
|
|
- vec![0, 1]
|
|
|
- );
|
|
|
- assert_eq!(
|
|
|
- { Path::transform(&Path(vec![1, 1]), &Path(vec![1, 0]), 1) }.0,
|
|
|
- vec![1, 0]
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- #[test]
|
|
|
- fn test_transform_delta() {
|
|
|
- assert_eq!(
|
|
|
- { Path::transform(&Path(vec![0, 1]), &Path(vec![0, 1]), 5) }.0,
|
|
|
- vec![0, 6]
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
#[test]
|
|
|
fn test_serialize_insert_operation() {
|
|
|
let insert = NodeOperation::Insert {
|