github.com/bproforigoss/kemadaxbot@v0.0.0-20220624072915-02d1d676250b/kemadaxbot_test.go (about)

     1  package main
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func TestPrimeFactorization(t *testing.T) {
     8  
     9  	got1 := primeFactorization(3884)
    10  	got2 := primeFactorization(100)
    11  	want1 := "2, 2"
    12  	want2 := "2, 2, 5, 5"
    13  
    14  	if got1.factorsWithCommas() != want1 {
    15  		t.Errorf("got %q, wanted %q", got1.factorsWithCommas(), want1)
    16  	}
    17  	if got2.factorsWithCommas() != want2 {
    18  		t.Errorf("got %q, wanted %q", got2.factorsWithCommas(), want2)
    19  	}
    20  
    21  }
    22  
    23  type IsPrimeTest struct {
    24  	number   int
    25  	expected bool
    26  }
    27  
    28  var IsPrimeTests = []IsPrimeTest{
    29  	IsPrimeTest{2, true},
    30  	IsPrimeTest{4, false},
    31  	IsPrimeTest{53, true},
    32  	IsPrimeTest{1000000, false},
    33  }
    34  
    35  func TestIsPrime(t *testing.T) {
    36  
    37  	for _, test := range IsPrimeTests {
    38  		if output := IsPrime(test.number); output != test.expected {
    39  			t.Errorf("Output %v not equal to expected %v", output, test.expected)
    40  		}
    41  	}
    42  }
    43  
    44  type convertTest struct {
    45  	number   int
    46  	expected string
    47  }
    48  
    49  var convertTests = []convertTest{
    50  	convertTest{1, "egy"},
    51  	convertTest{1999, "egyezerkilencszázkilencvenkilenc"},
    52  	convertTest{516784, "ötszáztizenhatezer-hétszáznyolcvannégy"},
    53  	convertTest{1111111111, "egymilliárd-egyszáztizenegymillió-egyszáztizenegyezer-egyszáztizenegy"},
    54  }
    55  
    56  func TestConvert(t *testing.T) {
    57  	for _, test := range convertTests {
    58  		if output := convert(test.number); output != test.expected {
    59  			t.Errorf("Output %v not equal to expected %v", output, test.expected)
    60  		}
    61  	}
    62  
    63  }
    64  
    65  func BenchmarkPrimeFactors(b *testing.B) {
    66  	primeFactorization(100)
    67  }