File: Test_SymOp.cpp

package info (click to toggle)
pymol 3.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 74,084 kB
  • sloc: cpp: 482,660; python: 89,328; ansic: 29,512; javascript: 6,792; sh: 84; makefile: 25
file content (39 lines) | stat: -rw-r--r-- 798 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "SymOp.h"
#include "Test.h"
#include "vla.h"

using pymol::SymOp;

TEST_CASE("symop-zero-initialization", "[SymOp]")
{
  SymOp* symop;
  char buffer[] = "ABCD";
  static_assert(sizeof(buffer) >= sizeof(SymOp), "");

  symop = new (buffer) SymOp();

  REQUIRE(symop->to_string() == "1_555");
  REQUIRE(symop->index == 0);
  REQUIRE(symop->x == 0);
  REQUIRE(symop->y == 0);
  REQUIRE(symop->z == 0);
}

TEST_CASE("symop-reset", "[SymOp]")
{
  SymOp symop;
  symop.reset("3_458");
  REQUIRE(symop.to_string() == "3_458");
  REQUIRE(symop.index == 2);
  REQUIRE(symop.x == -1);
  REQUIRE(symop.y == 0);
  REQUIRE(symop.z == 3);
}

TEST_CASE("symop-vla", "[SymOp]")
{
  // does zero-initialization
  pymol::vla<SymOp> symops;
  symops.resize(1);
  REQUIRE(symops[0].to_string() == "1_555");
}