seekia/resources/geneticPredictionModels/geneticPredictionModels_test.go
2024-08-14 03:37:18 +00:00

63 lines
1.9 KiB
Go

package geneticPredictionModels_test
import "seekia/resources/geneticPredictionModels"
import "testing"
import "seekia/internal/genetics/geneticPrediction"
func TestGeneticPredictionModels(t *testing.T){
attributeNamesList := []string{"Eye Color", "Lactose Tolerance", "Height", "Autism", "Obesity"}
for _, attributeName := range attributeNamesList{
modelFound, modelBytes := geneticPredictionModels.GetGeneticPredictionModelBytes(attributeName)
if (modelFound == false){
t.Fatalf("GetGeneticPredictionModelBytes failed to find model for trait: " + attributeName)
}
_, err := geneticPrediction.DecodeBytesToNeuralNetworkObject(modelBytes)
if (err != nil){
t.Fatalf("DecodeBytesToNeuralNetworkObject failed: " + err.Error())
}
}
}
func TestGeneticPredictionModelAccuracies(t *testing.T){
discreteTraitNamesList := []string{"Eye Color", "Lactose Tolerance"}
for _, traitName := range discreteTraitNamesList{
accuracyInfoBytes, err := geneticPredictionModels.GetPredictionModelDiscreteTraitAccuracyInfoBytes(traitName)
if (err != nil){
t.Fatalf("GetPredictionModelDiscreteTraitAccuracyInfoBytes failed: " + err.Error())
}
_, err = geneticPrediction.DecodeBytesToDiscreteTraitPredictionAccuracyInfoMap(accuracyInfoBytes)
if (err != nil){
t.Fatalf("DecodeBytesToDiscreteTraitPredictionAccuracyInfoMap failed: " + err.Error())
}
}
numericAttributeNamesList := []string{"Height", "Autism", "Homosexualness", "Obesity"}
for _, attributeName := range numericAttributeNamesList{
accuracyInfoBytes, err := geneticPredictionModels.GetPredictionModelNumericAttributeAccuracyInfoBytes(attributeName)
if (err != nil){
t.Fatalf("GetPredictionModelNumericAttributeAccuracyInfoBytes failed: " + err.Error())
}
_, err = geneticPrediction.DecodeBytesToNumericAttributePredictionAccuracyInfoMap(accuracyInfoBytes)
if (err != nil){
t.Fatalf("DecodeBytesToNumericAttributePredictionAccuracyInfoMap failed: " + err.Error())
}
}
}