diff --git a/test/valuefactory.hh b/test/valuefactory.hh index 10fddcb342b2082db126caeb5cc771bf14dfb0b2..26946b52b0459027ead91b820e4a7f079f3b6e17 100644 --- a/test/valuefactory.hh +++ b/test/valuefactory.hh @@ -303,5 +303,70 @@ public: }; +/** \brief A class that creates sets of values of various types, to be used in unit tests + * + * This is the specialization for HyperbolicHalfspacePoint<3> + */ +template <> +class ValueFactory<HyperbolicHalfspacePoint<double,2> > +{ +public: + static void get(std::vector<HyperbolicHalfspacePoint<double,2> >& values) { + + int nTestPoints = 10; + double testPoints[10][3] = {{1,0.01}, {0,0.01}, {-0.838114,0.412667}, + {-0.490946,0.81551},{-0.944506,0.304319}, + {-0.6,0.2},{0.45,0.517}, + {-0.1,0.1},{-0.444506,0.104319},{-0.7,0.304319}}; + + values.resize(nTestPoints); + + // Set up elements of S^1 + for (int i=0; i<nTestPoints; i++) { + + Dune::FieldVector<double,2> w; + for (int j=0; j<2; j++) + w[j] = testPoints[i][j]; + values[i] = HyperbolicHalfspacePoint<double,2>(w); + + } + + } + +}; + +/** \brief A class that creates sets of values of various types, to be used in unit tests + * + * This is the specialization for HyperbolicHalfspacePoint<3> + */ +template <> +class ValueFactory<HyperbolicHalfspacePoint<double,3> > +{ +public: + static void get(std::vector<HyperbolicHalfspacePoint<double,3> >& values) { + + int nTestPoints = 10; + double testPoints[10][3] = {{1,0,0.01}, {0,1,0.01}, {-0.838114,0.356751,0.412667}, + {-0.490946,-0.306456,0.81551},{-0.944506,0.123687,0.304319}, + {-0.6,0.1,0.2},{0.45,0.12,0.517}, + {-0.1,0.3,0.1},{-0.444506,0.123687,0.104319},{-0.7,-0.123687,0.304319}}; + + values.resize(nTestPoints); + + // Set up elements of S^1 + for (int i=0; i<nTestPoints; i++) { + + Dune::FieldVector<double,3> w; + for (int j=0; j<3; j++) + w[j] = testPoints[i][j]; + values[i] = HyperbolicHalfspacePoint<double,3>(w); + + } + + } + +}; + + #endif \ No newline at end of file