Move History

Fork Selected
  • Code
    #include <stdbool.h>
    
    bool bool_check(bool bools[3]) {
      return bools[0] + bools[1] + bools[2] > 1;
    }
    Test Cases
    #include <criterion/criterion.h>
    
    bool bool_check(bool []);
    
    Test(sample_cases, two_are_true) {
      cr_assert_eq(bool_check((bool []) {false, true, true}), true);
      cr_assert_eq(bool_check((bool []) {true, false, true}), true);
      cr_assert_eq(bool_check((bool []) {true, true, false}), true);
    }
    
    Test(another_case, all_are_true) {
      cr_assert_eq(bool_check((bool []) {true, true, true}), true);
    }
    
    Test(more_sample_cases, one_is_true) {
      cr_assert_eq(bool_check((bool []) {true, false, false}), false);
      cr_assert_eq(bool_check((bool []) {false, true, false}), false);
      cr_assert_eq(bool_check((bool []) {false, false, true}), false);
    }
    
    Test(last_case, all_are_false) {
      cr_assert_eq(bool_check((bool []) {false, false, false}), false);
    }
  • Code
    • #include <stdbool.h>
    • bool bool_check(bool bools[3]) {
    • return *bools + *++bools + *++bools > 1;
    • return bools[0] + bools[1] + bools[2] > 1;
    • }