check_checksums/
check_checksums.rs1mod helpers;
6use helpers::*;
7use ot_tools_io::{
8 ArrangementFile, BankFile, CalculateChecksum, CheckChecksum, OctatrackFileIO,
9 SampleSettingsFile,
10};
11use std::path::PathBuf;
12
13#[allow(dead_code)]
14fn arrangement_check() -> RBoxErr<()> {
15 let fp = PathBuf::from("test-data")
16 .join("arrange")
17 .join("full-options.work");
18 let bin = ArrangementFile::from_data_file(&fp)?;
19 println!("checksum from arrangement file: {:?}", bin.checksum);
20
21 let checksum = bin.calculate_checksum()?;
22 println!("calculated checksum for arrangement file: {checksum:?}");
23
24 if bin.check_checksum()? {
25 println!("arrangement file checksum is ok");
26 } else {
27 println!("bad arrangement file checksum");
28 panic!()
29 };
30 Ok(())
31}
32
33fn bank_check() -> RBoxErr<()> {
34 let fp = PathBuf::from("test-data")
35 .join("blank-project")
36 .join("bank01.work");
37 let bin = BankFile::from_data_file(&fp)?;
38 println!("checksum from bank file: {:?}", bin.checksum);
39
40 let checksum = bin.calculate_checksum()?;
41 println!("calculated checksum for bank file: {checksum:?}");
42
43 if bin.check_checksum()? {
44 println!("bank file checksum is ok");
45 } else {
46 println!("bad bank file checksum");
47 panic!()
48 };
49 Ok(())
50}
51
52fn markers_check() -> RBoxErr<()> {
53 let fp = PathBuf::from("test-data")
54 .join("blank-project")
55 .join("markers.work");
56 let bin = ArrangementFile::from_data_file(&fp)?;
57 println!("checksum from markers file: {:?}", bin.checksum);
58
59 let checksum = bin.calculate_checksum()?;
60 println!("calculated checksum for markers file: {checksum:?}");
61
62 if bin.check_checksum()? {
63 println!("markers file checksum is ok");
64 } else {
65 println!("bad markers file checksum");
66 panic!()
67 };
68
69 Ok(())
70}
71
72fn sample_check() -> RBoxErr<()> {
73 let fp = PathBuf::from("test-data").join("samples").join("sample.ot");
74 let bin = SampleSettingsFile::from_data_file(&fp)?;
75 println!("checksum from sample settings file: {:?}", bin.checksum);
76
77 let checksum = bin.calculate_checksum()?;
78 println!("calculated checksum for sample settings file: {checksum:?}");
79
80 if bin.check_checksum()? {
81 println!("sample settings file checksum is ok");
82 } else {
83 println!("bad sample settings file checksum");
84 panic!()
85 };
86 Ok(())
87}
88
89fn main() -> RBoxErr<()> {
90 println!("-------------------------");
91 bank_check()?;
96 println!("-------------------------");
97 markers_check()?;
98 println!("-------------------------");
99 sample_check()?;
100 println!("-------------------------");
101 Ok(())
102}