Made records produce a document name.
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1s

This commit is contained in:
2026-02-13 15:04:16 -05:00
parent 115910120c
commit 62335d8682
7 changed files with 74 additions and 20 deletions

View File

@@ -1,5 +1,6 @@
use crate::{
action::Field,
message::MessageAction,
mtterror::{ErrorID, MTTError},
name::{Name, NameType, Names},
};
@@ -142,20 +143,23 @@ impl Record {
#[derive(Clone, Debug)]
pub struct Records {
doc_name: NameType,
names: Names,
data: InternalRecords,
}
impl Records {
pub fn new(names: Names) -> Self {
pub fn new(doc_names: Vec<Name>, names: Names) -> Self {
Self {
doc_name: doc_names[0].clone().into(),
names: names,
data: InternalRecords::new(),
}
}
pub fn with_data(names: Names, records: InternalRecords) -> Self {
pub fn with_data(doc_names: Vec<Name>, names: Names, records: InternalRecords) -> Self {
Self {
doc_name: doc_names[0].clone().into(),
names: names,
data: records,
}
@@ -178,6 +182,12 @@ impl Records {
}
}
impl MessageAction for Records {
fn doc_name(&self) -> &NameType {
&self.doc_name
}
}
struct RecordIter {
names: Names,
recs: Vec<InternalRecord>,
@@ -202,3 +212,24 @@ impl Iterator for RecordIter {
}
}
}
#[cfg(test)]
mod records {
use super::*;
#[test]
fn does_recourds_store_document_name() {
let doc_name = Name::english(uuid::Uuid::new_v4().to_string().as_str());
let expected: NameType = doc_name.clone().into();
let recs = Records::new(vec![doc_name.clone()], Names::new());
assert_eq!(recs.doc_name(), &expected);
}
#[test]
fn does_records_with_data_store_document_name() {
let doc_name = Name::english(uuid::Uuid::new_v4().to_string().as_str());
let expected: NameType = doc_name.clone().into();
let recs = Records::with_data(vec![doc_name.clone()], Names::new(), InternalRecords::new());
assert_eq!(recs.doc_name(), &expected);
}
}