2010-07-21 5 views
2

J'ai travaillé sur le code pour créer une fonction parallèle de type lapply() qui utilise le moteur Elastic Map Reduce d'Amazon comme 'grille' pour le traitement (oui, c'est un mapper sans réducteur). Après avoir obtenu le code stable, je vais le résumer comme un backend foreach. Mais d'abord j'ai besoin de construire des tests pour tester le code que j'ai.R: Création de cas de test de type lapply()

Quels seraient les bons cas de test pour cette fonction?

Mon cas de test canonique est maintenant à droite comme suit:

myList <- NULL 
set.seed(1) 
for (i in 1:10){ 
    a <- c(rnorm(999), NA) 
    myList[[i]] <- a 
} 
outputLocal <- lapply(myList, mean, na.rm=T) 
outputEmr <- emrlapply(myList, mean, myCluster, na.rm=T) 
all.equal(outputEmr, outputLocal) 

Ce cas de test fait que l'argument optionnel na.rm=T est transmis correctement aux machines distantes. Quels sont les autres cas de test que je pourrais utiliser? Je ne supporte pas actuellement les arguments simplify ou USE.NAMES, bien que je le ferai dans le futur.

Répondre

1

Qu'advient-il si vous passez emrlapply

  • Une liste des vecteurs de caractères
  • Une liste vide
  • Une liste qui est seulement vide après toutes les NA valeurs ont été supprimées
  • NULL
  • Un vecteur (lapply fonctionne avec des vecteurs)
  • Une matrice
  • A data.frame
  • Une liste des listes

Vous devez également un test pour voir si votre fonction gère gracieusement DME ne pas être disponibles ou ayant des paquets manquants nécessaires.

+0

bonne entrée! Je vous remercie –

Questions connexes