Prove R3 self-tagged facet reviews against carrier baseline
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s

This commit is contained in:
2026-09-06 04:19:13 +03:00
parent 8ac9f464ea
commit b2ab2b1feb
6 changed files with 2104 additions and 6 deletions
+13 -6
View File
@@ -2,6 +2,7 @@
//! A carrier stores independently reviewed facets; it is NOT a past valid model.
use oa_core::*;
use serde::{Deserialize, Serialize};
pub mod typed_reviews;
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(deny_unknown_fields)]
@@ -403,13 +404,19 @@ pub fn apply(
#[cfg(test)]
mod tests {
use super::*;
fn add(p: &mut Project, kind: Kind, layer: Layer, name: &str, parent: Option<Id>) -> Id {
pub(crate) fn add(
p: &mut Project,
kind: Kind,
layer: Layer,
name: &str,
parent: Option<Id>,
) -> Id {
p.add_element(kind, layer, name, parent).unwrap()
}
fn set(p: &mut Project, id: Id, body: SharedBody) {
pub(crate) fn set(p: &mut Project, id: Id, body: SharedBody) {
*p.elements.get_mut(&id).unwrap().shared_mut().unwrap() = body;
}
fn valid(p: &Project) {
pub(crate) fn valid(p: &Project) {
let errors: Vec<_> = validation::validate(p)
.into_iter()
.filter(|i| i.severity == validation::Severity::Error)
@@ -463,7 +470,7 @@ mod tests {
)
.unwrap();
}
fn integer(minimum: i64, maximum: i64, unit: &str) -> SharedBody {
pub(crate) fn integer(minimum: i64, maximum: i64, unit: &str) -> SharedBody {
SharedBody::DataType {
definition: DataTypeDefinition::Integer {
minimum: Some(minimum),
@@ -650,7 +657,7 @@ mod tests {
);
}
fn state_side(p: &mut Project, layer: Layer, prefix: &str) -> (Id, Id, Id) {
pub(crate) fn state_side(p: &mut Project, layer: Layer, prefix: &str) -> (Id, Id, Id) {
let owner = add(
p,
if layer == Layer::Oa {
@@ -773,7 +780,7 @@ mod tests {
);
}
fn sequence(p: &mut Project, layer: Layer, prefix: &str) -> (Id, Id, Id) {
pub(crate) fn sequence(p: &mut Project, layer: Layer, prefix: &str) -> (Id, Id, Id) {
let sequence = add(
p,
if layer == Layer::Oa {