diff options
Diffstat (limited to 'factors/factors_test.go')
| -rw-r--r-- | factors/factors_test.go | 61 |
1 files changed, 57 insertions, 4 deletions
diff --git a/factors/factors_test.go b/factors/factors_test.go index db6e098..12d4384 100644 --- a/factors/factors_test.go +++ b/factors/factors_test.go @@ -87,7 +87,7 @@ var factorScoreCases = map[uint]float64{ func TestFactorScore(t *testing.T) { // factors.Score is accurate enough that we can test for exact floats! - tableTest(t, Score, factorScoreCases, stdEquals[float64], "Score") + tableTest(t, Score, factorScoreCases, stdEquals, "Score") } var basicRankCases = map[uint]string{ @@ -97,7 +97,7 @@ var basicRankCases = map[uint]string{ } func TestBasicRank(t *testing.T) { - tableTest(t, BasicRank, basicRankCases, stdEquals[string], "BasicRank") + tableTest(t, BasicRank, basicRankCases, stdEquals, "BasicRank") } var gcdCases = map[struct{ a, b uint }]uint{ @@ -114,7 +114,7 @@ func gcdTest(c struct{ a, b uint }) uint { } func TestGCD(t *testing.T) { - tableTest(t, gcdTest, gcdCases, stdEquals[uint], "gcd") + tableTest(t, gcdTest, gcdCases, stdEquals, "gcd") } var mtcCases = map[uint]uint{ @@ -127,7 +127,60 @@ var mtcCases = map[uint]uint{ } func TestMTC(t *testing.T) { - tableTest(t, MTC, mtcCases, stdEquals[uint], "MTC") + tableTest(t, MTC, mtcCases, stdEquals, "MTC") +} + +var sanCases = map[uint32]bool{ + 1: true, 2: true, 4: true, 6: true, 12: true, 24: true, 36: true, + 48: true, 60: true, 120: true, 180: true, 240: true, 360: true, + 720: true, 840: true, 1260: true, 1680: true, 2520: true, 5040: true, + 10080: true, 15120: true, 25200: true, 27720: true, 55440: true, + 3: false, 8: false, 13: false, 18: false, 20: false, 30: false, + 31: false, 72: false, 107: false, 135: false, 144: false, 300: false, + 1728: false, 4000: false, 6912: false, 7560: false, +} + +func TestSAN(t *testing.T) { + tableTest(t, isSAN, sanCases, stdEquals, "isSAN") +} + +var expOrdCases = map[uint32]bool{ + 1: true, 2: true, 4: true, 5: false, 6: true, 12: true, 18: false, + 20: false, 30: true, 44: false, 60: true, 70: false, 96: true, + 101: false, 120: true, 144: true, 770: false, 6912: true, 10010: false, +} + +func TestExponentsOrdered(t *testing.T) { + tableTest(t, exponentsOrdered, expOrdCases, stdEquals, "exponentsOrdered") +} + +var practicalCases = map[uint32]bool{ + 1: true, 2: true, 4: true, 6: true, 8: true, 12: true, 16: true, + 18: true, 20: true, 24: true, 28: true, 30: true, 32: true, 36: true, + 48: true, 60: true, 120: true, 180: true, 240: true, 360: true, + 720: true, 840: true, 1260: true, 1680: true, 2520: true, 5040: true, + 10080: true, 15120: true, 25200: true, 27720: true, 55440: true, + 3: false, 10: false, 27: false, 44: false, 45: false, 68: false, + 70: false, 114: false, 121: false, 770: false, 1729: false, 10010: false, +} + +func TestPractical(t *testing.T) { + tableTest(t, practical, practicalCases, stdEquals, "practical") +} + +var typeCases = map[uint32]NumberType { + 2: ColossallyAbundant, 3: NotPractical, 4: Superabundant, + 6: ColossallyAbundant, 8: OrderedExponent, 10: NotPractical, + 12: ColossallyAbundant, 18: Practical, 20: Practical, 24: Superabundant, + 28: Practical, 30: OrderedExponent, 31: NotPractical, 34: NotPractical, + 60: ColossallyAbundant, 70: NotPractical, 90: Practical, + 120: ColossallyAbundant, 240: Superabundant, 720: Superabundant, + 770: NotPractical, 1729: NotPractical, 6912: OrderedExponent, + 10010: NotPractical, 10080: Superabundant, +} + +func TestType(t *testing.T) { + tableTest(t, Type, typeCases, stdEquals, "Type") } // to be used as the equal paramater for tableTest |
