Add passing tests for builder

This commit is contained in:
Turner 2022-06-22 21:53:02 -07:00 committed by Lucas
parent 4db39c8790
commit e667fc3613
4 changed files with 50 additions and 1 deletions

7
Cargo.lock generated
View File

@ -235,6 +235,13 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "program_builder"
version = "0.1.0"
dependencies = [
"uplc",
]
[[package]]
name = "quote"
version = "1.0.18"

View File

@ -1,2 +1,2 @@
[workspace]
members = ["crates/cli", "crates/flat", "crates/uplc"]
members = ["crates/cli", "crates/flat", "crates/uplc", "crates/program_builder"]

View File

@ -0,0 +1,10 @@
[package]
name = "program_builder"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
# 1st party
uplc = { path = '../uplc', version = "0.0.3" }

View File

@ -0,0 +1,32 @@
use uplc::ast::{Constant, DeBruijn, Name, Program, Term};
#[derive(Default)]
pub struct Builder {
// version: (usize, usize, usize),
}
impl Builder {
pub fn build_named(&self) -> Program<Name> {
Program {
version: (11, 22, 33),
term: Term::Constant(Constant::Integer(11)),
}
}
}
#[cfg(test)]
mod tests {
use crate::Builder;
use uplc::parser;
#[test]
fn it_works() {
let code = r"(program
11.22.33
(con integer 11)
)";
let expected = parser::program(code).unwrap();
let actual = Builder::default().build_named();
assert_eq!(expected, actual);
}
}