  Within the framework of generalized noncontextuality, we introduce a general
technique for systematically deriving noncontextuality inequalities for any
experiment involving finitely many preparations and finitely many measurements,
each of which has a finite number of outcomes. Given any fixed sets of
operational equivalences among the preparations and among the measurements as
input, the algorithm returns a set of noncontextuality inequalities whose
satisfaction is necessary and sufficient for a set of operational data to admit
of a noncontextual model. Additionally, we show that the space of noncontextual
data tables always defines a polytope. Finally, we provide a computationally
efficient means for testing whether any set of numerical data admits of a
noncontextual model, with respect to any fixed operational equivalences.
Together, these techniques provide complete methods for characterizing
arbitrary noncontextuality scenarios, both in theory and in practice. Because a
quantum prepare-and-measure experiment admits of a noncontextual model if and
only if it admits of a positive quasiprobability representation, our techniques
also determine the necessary and sufficient conditions for the existence of
such a representation.
