github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/core/structs/or_test.go (about)

     1  package structs
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/lmorg/murex/test"
     7  )
     8  
     9  // TestOr tests the `or` builtin
    10  func TestOr(t *testing.T) {
    11  	tests := []test.BooleanTest{
    12  		// --- or ---
    13  		{
    14  			Block:  "or { true } { true } { true }",
    15  			Result: true,
    16  		},
    17  		{
    18  			Block:  "or { false } { true } { true }",
    19  			Result: true,
    20  		},
    21  		{
    22  			Block:  "or { true } { false } { true }",
    23  			Result: true,
    24  		},
    25  		{
    26  			Block:  "or { true } { true } { false }",
    27  			Result: true,
    28  		},
    29  		{
    30  			Block:  "or { false } { true } { false }",
    31  			Result: true,
    32  		},
    33  		{
    34  			Block:  "or { false } { false } { false }",
    35  			Result: false,
    36  		},
    37  		// --- !or ---
    38  		{
    39  			Block:  "!or { true } { true } { true }",
    40  			Result: false,
    41  		},
    42  		{
    43  			Block:  "!or { false } { true } { true }",
    44  			Result: true,
    45  		},
    46  		{
    47  			Block:  "!or { true } { false } { true }",
    48  			Result: true,
    49  		},
    50  		{
    51  			Block:  "!or { true } { true } { false }",
    52  			Result: true,
    53  		},
    54  		{
    55  			Block:  "!or { false } { true } { false }",
    56  			Result: true,
    57  		},
    58  		{
    59  			Block:  "!or { false } { false } { false }",
    60  			Result: true,
    61  		},
    62  	}
    63  
    64  	test.RunBooleanTests(tests, t)
    65  }