summaryrefslogtreecommitdiff
path: root/test/TCollection_test/TCollection_test.cpp
blob: 142b74720e1cfc786d24412f5cd4e81440c4d301 (plain)
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
40
41
42
43
44
45
46
47
48
#include <gp_Pnt.hxx>
#include <TColgp_SequenceOfPnt.hxx>
#include <gtest/gtest.h>

TEST(TCollectionTestSuite, testSequenceOfPnt)
{
    int n=500000;
    gp_Pnt res;
    TColgp_SequenceOfPnt pnt_seq;
    // test Append method
    for (int i=0;i<n;i++) {
        pnt_seq.Append(gp_Pnt(i,i,i));
    }
    // test Length method
    ASSERT_EQ(pnt_seq.Length(),n);
    // test Value method
    for (int i=1;i<n;i++) {
        res = pnt_seq.Value(i);
        ASSERT_EQ(res.X(),i-1);
        ASSERT_EQ(res.Y(),i-1);
        ASSERT_EQ(res.Z(),i-1);
    }
    // test First() method
    res = pnt_seq.First();
    ASSERT_EQ(res.X(),0.);
    ASSERT_EQ(res.Y(),0.);
    ASSERT_EQ(res.Z(),0.);
    // test Last() method
    res = pnt_seq.Last();
    ASSERT_EQ(res.X(),n-1);
    ASSERT_EQ(res.Y(),n-1);
    ASSERT_EQ(res.Z(),n-1);
    // test Exchange() method
    pnt_seq.Exchange(50,120);
    res = pnt_seq.Value(50);
    ASSERT_EQ(res.X(),119);
    ASSERT_EQ(res.Y(),119);
    ASSERT_EQ(res.Z(),119);
    res = pnt_seq.Value(120);
    ASSERT_EQ(res.X(),49);
    ASSERT_EQ(res.Y(),49);
    ASSERT_EQ(res.Z(),49);
}

int main(int argc, char **argv){
  testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}