1- use brainrust:: interpreter;
2- use brainrust:: interpreter:: Interpreter ;
3- use brainrust:: lexer;
4- use brainrust:: optimizer;
5- use brainrust:: parser;
6-
7- use std:: fs;
8- use std:: str;
1+ use brainrust:: {
2+ interpreter:: { self , Interpreter } ,
3+ lexer, optimizer, parser,
4+ } ;
5+ use std:: { fs, io, str} ;
96
107const PROGRAM_PREFIX : & str = "tests/programs/" ;
118const PROGRAM_EXTENSION : & str = ".b" ;
@@ -19,18 +16,16 @@ macro_rules! test_programs {
1916 $(
2017 #[ test]
2118 fn $test_name( ) -> Result <( ) , TestError > {
22- let program = format!( "{}{}{}" , PROGRAM_PREFIX , $program_name, PROGRAM_EXTENSION ) ;
23- let input = format!( "{}{}{}" , PROGRAM_PREFIX , $program_name, INPUT_EXTENSION ) ;
24- let output = format!( "{}{}{}" , PROGRAM_PREFIX , $program_name, OUTPUT_EXTENSION ) ;
19+ let program_name = $program_name;
20+ let program = format!( "{PROGRAM_PREFIX}{program_name}{PROGRAM_EXTENSION}" ) ;
21+ let input = format!( "{PROGRAM_PREFIX}{program_name}{INPUT_EXTENSION}" ) ;
22+ let output = format!( "{PROGRAM_PREFIX}{program_name}{OUTPUT_EXTENSION}" ) ;
2523
26- let program = fs:: read ( program) ?;
27- let input = fs:: read ( input) ?;
24+ let program = fs:: read_to_string ( program) ?;
25+ let input = fs:: read_to_string ( input) ?;
2826 let output = fs:: read( output) ?;
2927
30- let program = str :: from_utf8( & program) ?;
31- let input = str :: from_utf8( & input) ?;
32-
33- let result = run_program( program, input) ?;
28+ let result = run_program( & program, & input) ?;
3429
3530 assert_eq!( result, output) ;
3631 Ok ( ( ) )
@@ -44,45 +39,45 @@ test_programs! {
4439}
4540
4641fn run_program ( file : & str , input : & str ) -> Result < Vec < u8 > , TestError > {
47- let tokens = lexer:: lex ( & file) ;
48- let parsed = parser:: parse ( tokens) ?;
42+ let tokens = lexer:: lex ( file) ;
43+ let parsed = parser:: parse ( & tokens) ?;
4944 let optimized = optimizer:: optimize ( parsed) ;
5045 let mut interpreter = Interpreter :: new ( MEMORY_SIZE ) ;
5146
5247 let mut output: Vec < u8 > = vec ! [ ] ;
5348
54- interpreter. run ( optimized, & mut input. as_bytes ( ) , & mut output) ?;
49+ interpreter. run ( & optimized, & mut input. as_bytes ( ) , & mut output) ?;
5550 Ok ( output)
5651}
5752
5853#[ derive( Debug ) ]
5954enum TestError {
60- Io ( std :: io :: Error ) ,
61- Parsing ( parser :: Error ) ,
62- Interpreter ( interpreter :: Error ) ,
63- ConversationError ( std :: str :: Utf8Error ) ,
55+ Io ,
56+ Parsing ,
57+ Interpreter ,
58+ ConversationError ,
6459}
6560
66- impl From < std :: io:: Error > for TestError {
67- fn from ( io_error : std :: io:: Error ) -> Self {
68- TestError :: Io ( io_error )
61+ impl From < io:: Error > for TestError {
62+ fn from ( _error : io:: Error ) -> Self {
63+ TestError :: Io
6964 }
7065}
7166
7267impl From < parser:: Error > for TestError {
73- fn from ( parser_error : parser:: Error ) -> Self {
74- TestError :: Parsing ( parser_error )
68+ fn from ( _error : parser:: Error ) -> Self {
69+ TestError :: Parsing
7570 }
7671}
7772
7873impl From < interpreter:: Error > for TestError {
79- fn from ( interpreter_error : interpreter:: Error ) -> Self {
80- TestError :: Interpreter ( interpreter_error )
74+ fn from ( _error : interpreter:: Error ) -> Self {
75+ TestError :: Interpreter
8176 }
8277}
8378
84- impl From < std :: str:: Utf8Error > for TestError {
85- fn from ( utf8_error : std :: str:: Utf8Error ) -> Self {
86- TestError :: ConversationError ( utf8_error )
79+ impl From < str:: Utf8Error > for TestError {
80+ fn from ( _error : str:: Utf8Error ) -> Self {
81+ TestError :: ConversationError
8782 }
8883}
0 commit comments