mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-04 01:18:34 +00:00
wip
This commit is contained in:
1 parent
8c95f27c60
commit
c001085a15
4 files changed
+30
-33
No files matched your search
Generated
+1
@@ -3821,6 +3821,7 @@ dependencies = [
|
||||
"enums_api",
|
||||
"enums_db",
|
||||
"serde_json",
|
||||
"strum",
|
||||
"workspace-build-acceleration",
|
||||
]
|
||||
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
//!
|
||||
//! Do not change the values here without cause or care.
|
||||
|
||||
use std::collections::BTreeSet;
|
||||
|
||||
#[cfg(test)]
|
||||
use strum::EnumCount;
|
||||
#[cfg(test)]
|
||||
@@ -26,43 +24,39 @@ pub enum GenerationProvider {
|
||||
WorldLabs,
|
||||
}
|
||||
|
||||
impl GenerationProvider {
|
||||
|
||||
pub fn all_variants() -> BTreeSet<Self> {
|
||||
BTreeSet::from([
|
||||
Self::Artcraft,
|
||||
Self::Fal,
|
||||
Self::Grok,
|
||||
Self::Midjourney,
|
||||
Self::Sora,
|
||||
Self::WorldLabs,
|
||||
])
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::GenerationProvider;
|
||||
use enums_shared::test_helpers::assert_serialization;
|
||||
use strum::IntoEnumIterator;
|
||||
mod manual_checks {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_serialization() {
|
||||
assert_serialization(GenerationProvider::Artcraft, "artcraft");
|
||||
assert_serialization(GenerationProvider::Fal, "fal");
|
||||
assert_serialization(GenerationProvider::Grok, "grok");
|
||||
assert_serialization(GenerationProvider::Midjourney, "midjourney");
|
||||
assert_serialization(GenerationProvider::Sora, "sora");
|
||||
assert_serialization(GenerationProvider::WorldLabs, "world_labs");
|
||||
#[test]
|
||||
fn test_serialization() {
|
||||
assert_serialization(GenerationProvider::Artcraft, "artcraft");
|
||||
assert_serialization(GenerationProvider::Fal, "fal");
|
||||
assert_serialization(GenerationProvider::Grok, "grok");
|
||||
assert_serialization(GenerationProvider::Midjourney, "midjourney");
|
||||
assert_serialization(GenerationProvider::Sora, "sora");
|
||||
assert_serialization(GenerationProvider::WorldLabs, "world_labs");
|
||||
}
|
||||
#[test]
|
||||
fn variants_count_check() {
|
||||
assert_eq!(GenerationProvider::iter().count(), 6);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn round_trip_json() {
|
||||
use strum::IntoEnumIterator;
|
||||
for variant in GenerationProvider::iter() {
|
||||
let json = serde_json::to_string(&variant).unwrap();
|
||||
let back: GenerationProvider = serde_json::from_str(&json).unwrap();
|
||||
assert_eq!(variant, back);
|
||||
mod mechanical_checks {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn round_trip_json() {
|
||||
for variant in GenerationProvider::iter() {
|
||||
let json = serde_json::to_string(&variant).unwrap();
|
||||
let back: GenerationProvider = serde_json::from_str(&json).unwrap();
|
||||
assert_eq!(variant, back);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,3 +25,4 @@ enums_db.workspace = true
|
||||
|
||||
[dev-dependencies]
|
||||
serde_json.workspace = true
|
||||
strum.workspace = true
|
||||
@@ -26,10 +26,11 @@ pub fn generation_provider_to_api(db_value: &Db) -> Api {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use strum::IntoEnumIterator;
|
||||
|
||||
#[test]
|
||||
fn round_trip_api_to_db() {
|
||||
for variant in Api::all_variants() {
|
||||
for variant in Api::iter() {
|
||||
let db = generation_provider_to_db(&variant);
|
||||
let back = generation_provider_to_api(&db);
|
||||
assert_eq!(variant, back);
|
||||
|
||||
Reference in new issue
Block a user