引数、返り値なしのblockの実行方法が分かりません。

下記コードで引数なし、返り値なしのblockと引数あり、返り値なしのblockをテストしています。

- (void)test1:(void(^)(void))block {
    NSLog(@"test1呼び出し");
    (void)block;
}

- (IBAction)test1Tapped:(id)sender {
    [self test1:^{
        NSLog(@"ブロック実行");
    }];
}

- (void)test2:(void(^)(NSString *))block {
    NSLog(@"test2呼び出し");
    block(@"ブロックの引数");
}

- (IBAction)test2Tappeed:(id)sender {
    [self test2:^(NSString *string) {
        NSLog(@"ブロック実行: %@", string);
    }];
}

test2Tappedメソッドではtest2メソッドに付属しているブロックが実行されましたが
test1Tappedメソッドではtest1メソドに付属しているブロックが実行されませんでした。
SDKの- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completionメソッドではtest1Tappedメソッドと同じように空のブロック^{ }でメソッド完了後の処理が記述できているのでtest1メソッドで同じことができてもおかしくないと思うのです。

原因および解決策わかる方いましたらご教授お願いします。