aboutsummaryrefslogtreecommitdiff
path: root/tests/symmetry_check.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/symmetry_check.c')
-rw-r--r--tests/symmetry_check.c79
1 files changed, 65 insertions, 14 deletions
diff --git a/tests/symmetry_check.c b/tests/symmetry_check.c
index b3d4cb34..5a2c91d5 100644
--- a/tests/symmetry_check.c
+++ b/tests/symmetry_check.c
@@ -37,11 +37,17 @@ static void check_pg_props(const char *pg, int answer, int centro, int *fail)
SymOpList *sym;
int n, c;
- //STATUS("**************************************** Testing '%s'\n", pg);
-
sym = get_pointgroup(pg);
+
+ if ( sym == NULL ) {
+ *fail = 1;
+ return;
+ }
+
n = num_equivs(sym, NULL);
+ describe_symmetry(sym);
+
if ( n != answer ) {
ERROR("Number of equivalents in '%s' is %i (not %i).\n",
pg, n, answer);
@@ -63,18 +69,63 @@ int main(int argc, char *argv[])
{
int fail = 0;
- check_pg_props( "1", 1, 0, &fail);
- check_pg_props( "-1", 2, 1, &fail);
-
- check_pg_props( "2", 2, 0, &fail);
- check_pg_props( "m", 2, 0, &fail);
- check_pg_props("2/m", 4, 1, &fail);
-
- check_pg_props("222", 4, 0, &fail);
- check_pg_props("mm2", 4, 0, &fail);
- check_pg_props("mmm", 8, 1, &fail);
-
- check_pg_props( "4", 4, 0, &fail);
+ check_pg_props( "1", 1, 0, &fail);
+ check_pg_props( "-1", 2, 1, &fail);
+ STATUS("\n");
+
+ check_pg_props( "2", 2, 0, &fail);
+ check_pg_props( "m", 2, 0, &fail);
+ check_pg_props( "2/m", 4, 1, &fail);
+ STATUS("\n");
+
+ check_pg_props( "222", 4, 0, &fail);
+ check_pg_props( "mm2", 4, 0, &fail);
+ check_pg_props( "mmm", 8, 1, &fail);
+ STATUS("\n");
+
+ check_pg_props( "4", 4, 0, &fail);
+ check_pg_props( "-4", 4, 0, &fail);
+ check_pg_props( "4/m", 8, 1, &fail);
+ check_pg_props( "422", 8, 0, &fail);
+ check_pg_props( "4mm", 8, 0, &fail);
+ check_pg_props( "-42m", 8, 0, &fail);
+ check_pg_props( "-4m2", 8, 0, &fail);
+ check_pg_props( "4/mmm", 16, 1, &fail);
+ STATUS("\n");
+
+ check_pg_props( "3_R", 3, 0, &fail);
+ check_pg_props( "-3_R", 6, 1, &fail);
+ check_pg_props( "32_R", 6, 0, &fail);
+ check_pg_props( "3m_R", 6, 0, &fail);
+ check_pg_props("-3m_R", 12, 1, &fail);
+ STATUS("\n");
+
+ check_pg_props( "3_H", 3, 0, &fail);
+ check_pg_props( "-3_H", 6, 1, &fail);
+ check_pg_props( "321_H", 6, 0, &fail);
+ check_pg_props( "312_H", 6, 0, &fail);
+ check_pg_props( "3m1_H", 6, 0, &fail);
+ check_pg_props( "31m_H", 6, 0, &fail);
+ check_pg_props("-3m1_H", 12, 1, &fail);
+ check_pg_props("-31m_H", 12, 1, &fail);
+ STATUS("\n");
+
+ check_pg_props( "6", 6, 0, &fail);
+ check_pg_props( "-6", 6, 0, &fail);
+ check_pg_props( "6/m", 12, 1, &fail);
+ check_pg_props( "622", 12, 0, &fail);
+ check_pg_props( "6mm", 12, 0, &fail);
+ check_pg_props( "-6m2", 12, 0, &fail);
+ check_pg_props( "-62m", 12, 0, &fail);
+ check_pg_props( "6/mmm", 24, 1, &fail);
+ STATUS("\n");
+
+ check_pg_props( "23", 12, 0, &fail);
+ check_pg_props( "m-3", 24, 1, &fail);
+ check_pg_props( "432", 24, 0, &fail);
+ check_pg_props( "-432", 24, 0, &fail);
+ check_pg_props( "m-3m", 48, 1, &fail);
+ STATUS("\n");
return fail;
}