@@ -16,7 +16,7 @@ impl ToValue for EqualsFn {
1616impl IFn for EqualsFn {
1717 fn invoke ( & self , args : Vec < Rc < Value > > ) -> Value {
1818 if args. is_empty ( ) {
19- //@TODO use proper error function
19+ //@TODO use proper error function
2020 return Value :: Condition ( format ! (
2121 "Wrong number of arguments given to function (Given: {}, Expected: > 0)" ,
2222 args. len( )
@@ -29,41 +29,44 @@ impl IFn for EqualsFn {
2929 if a != b {
3030 return Value :: Boolean ( false ) ;
3131 }
32- } ;
32+ }
3333 Value :: Boolean ( true )
34-
3534 }
3635}
3736
3837mod tests {
39- use crate :: value:: { Value , ToValue } ;
40- use crate :: rust_core:: EqualsFn ;
41- use crate :: keyword:: Keyword ;
4238 use crate :: ifn:: IFn ;
39+ use crate :: keyword:: Keyword ;
40+ use crate :: rust_core:: EqualsFn ;
41+ use crate :: value:: { ToValue , Value } ;
4342
4443 // Just checks that different Values do not count as equal, and that
4544 // at least one Value of the same kind does, and that one Value of the same
4645 // kind and different Value doesn't
4746 //
48- // Otherwise, does not test every type
47+ // Otherwise, does not test every type
4948 #[ test]
5049 fn equals_basic ( ) {
51- let equals = EqualsFn { } ;
50+ let equals = EqualsFn { } ;
5251 let _i32 = Value :: I32 ( 1 ) . to_rc_value ( ) ;
5352 // To test that we're not getting some sort of 'memory equality'
5453 let i32_copy = Value :: I32 ( 1 ) . to_rc_value ( ) ;
55- assert ! ( equals. invoke( vec![ i32_copy. clone( ) , _i32. clone( ) ] ) . is_truthy( ) ) ;
56- assert ! ( equals. invoke( vec![ _i32. clone( ) , _i32. clone( ) ] ) . is_truthy( ) ) ;
54+ assert ! ( equals
55+ . invoke( vec![ i32_copy. clone( ) , _i32. clone( ) ] )
56+ . is_truthy( ) ) ;
57+ assert ! ( equals. invoke( vec![ _i32. clone( ) , _i32. clone( ) ] ) . is_truthy( ) ) ;
5758
5859 let i32_2 = Value :: I32 ( 5 ) . to_rc_value ( ) ;
59- assert ! ( !equals. invoke( vec![ _i32. clone( ) , i32_2. clone( ) ] ) . is_truthy( ) ) ;
60-
60+ assert ! ( !equals. invoke( vec![ _i32. clone( ) , i32_2. clone( ) ] ) . is_truthy( ) ) ;
61+
6162 let keyword = Keyword :: intern ( "cat" ) . to_rc_value ( ) ;
6263 let keyword2 = Keyword :: intern ( "cat" ) . to_rc_value ( ) ;
6364 let keyword3 = Keyword :: intern ( "dog" ) . to_rc_value ( ) ;
6465
65- assert ! ( equals. invoke( vec![ keyword. clone( ) , keyword2. clone( ) ] ) . is_truthy( ) ) ;
66- assert ! ( !equals. invoke( vec![ keyword2, keyword3] ) . is_truthy( ) ) ;
67- assert ! ( !equals. invoke( vec![ keyword, _i32] ) . is_truthy( ) ) ;
66+ assert ! ( equals
67+ . invoke( vec![ keyword. clone( ) , keyword2. clone( ) ] )
68+ . is_truthy( ) ) ;
69+ assert ! ( !equals. invoke( vec![ keyword2, keyword3] ) . is_truthy( ) ) ;
70+ assert ! ( !equals. invoke( vec![ keyword, _i32] ) . is_truthy( ) ) ;
6871 }
6972}
0 commit comments