Question

Comment tester la fonction suivante?

bits(bitstring, i, j)

qui renvoie une copie de la sous-chaîne de i à j de certaines bitstring.

Considérez la valeur fixe 32 bits:

bitstring=0x12345678

Nous pourrions manuellement prédéterminer les valeurs de retour correctes pour ~ 500 combinaisons différentes de i et j. Mais cela ne couvre que 0x12345678.

Il ya deux32 ≈ 4 milliards de cordes différentes comme 0x12345678.

Même pour un test non exhaustif, enregistrant manuellement les constantes que nous prévoyons de tirer de toute combinaison de (bitstring, i, j) ne semble pas être la meilleure solution.

J'imagine que nous pouvons utiliser le fait que la carte des cordes de bits pour des entiers non signés et faire de l'arithmétique pour comparer la valeur de retour de bits à bitstring.

Toute aide avec le vocabulaire ou la classification de ce problème de validation serait également appréciée.

Remarque technique: mon incertitude réside dans la question de savoir si les manipulations des bits sont effectuées correctement, car la sous-chaîne de bit ne commence pas nécessairement ou ne se termine pas sur une limite d'octets.

Une autre note: après quelques modifications, j'ai réalisé que la question importante ici est Quelles sont les différentes façons de vérifier que la chaîne d'un bit est une sous-chaîne d'un autre? Mais la question initiale a une portée plus large, je vais donc la laisser telle qu'elle est.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top