diff options
author | Thomas Paviot <tpaviot@gmail.com> | 2011-11-27 06:46:13 -0800 |
---|---|---|
committer | Thomas Paviot <tpaviot@gmail.com> | 2011-11-27 06:46:13 -0800 |
commit | 58631cbf2cbf1cb02f4e8dab8e35cf534f83e7a5 (patch) | |
tree | 8f6da8ba953ff58cba996907e5306a6a99b0b5ce | |
parent | 98f14d60bf55369fff312da47709c6ecaf3f1996 (diff) | |
parent | f4b1c63be4b2090e35b6b6e1da5c06bf3a9c4adc (diff) | |
download | oce-58631cbf2cbf1cb02f4e8dab8e35cf534f83e7a5.tar.gz oce-58631cbf2cbf1cb02f4e8dab8e35cf534f83e7a5.zip |
Merge pull request #197 from tpaviot/review/fix-bug-195
Solves a copy-paste bug in TDataXtd_PatternStd (bug #195)
-rw-r--r-- | src/TDataXtd/TDataXtd_PatternStd.cxx | 4 | ||||
-rw-r--r-- | test/TDataXtd_test/CMakeLists.txt | 1 | ||||
-rw-r--r-- | test/TDataXtd_test/TDataXtd_test.cpp | 52 |
3 files changed, 55 insertions, 2 deletions
diff --git a/src/TDataXtd/TDataXtd_PatternStd.cxx b/src/TDataXtd/TDataXtd_PatternStd.cxx index 064a8261..8f8a4421 100644 --- a/src/TDataXtd/TDataXtd_PatternStd.cxx +++ b/src/TDataXtd/TDataXtd_PatternStd.cxx @@ -188,8 +188,8 @@ void TDataXtd_PatternStd::NbInstances1(const Handle(TDataStd_Integer)& NbInstanc void TDataXtd_PatternStd::NbInstances2(const Handle(TDataStd_Integer)& NbInstances2) { // OCC2932 correction - if(!myNb1.IsNull()) - if(myNb1->Get() == NbInstances2->Get()) + if(!myNb2.IsNull()) + if(myNb2->Get() == NbInstances2->Get()) return; Backup(); diff --git a/test/TDataXtd_test/CMakeLists.txt b/test/TDataXtd_test/CMakeLists.txt new file mode 100644 index 00000000..6da9b0da --- /dev/null +++ b/test/TDataXtd_test/CMakeLists.txt @@ -0,0 +1 @@ +ADD_OCE_TEST(TDataXtd_test "TKCAF;TKXCAF") diff --git a/test/TDataXtd_test/TDataXtd_test.cpp b/test/TDataXtd_test/TDataXtd_test.cpp new file mode 100644 index 00000000..0d984b1d --- /dev/null +++ b/test/TDataXtd_test/TDataXtd_test.cpp @@ -0,0 +1,52 @@ +#include "TDataXtd_PatternStd.hxx" +#include "TDF_Label.hxx" +#include "XCAFApp_Application.hxx" +#include "TDocStd_Document.hxx" +#include "TDataStd_Integer.hxx" +#include "TDataStd_Real.hxx" +#include "TDataXtd_Array1OfTrsf.hxx" +#include "TNaming_NamedShape.hxx" + +#include <gtest/gtest.h> + +TEST(TDataXtdTestSuite, testPattern) +{ + Handle(TDocStd_Document) document; + Handle (XCAFApp_Application) anApp = XCAFApp_Application::GetApplication(); + anApp->NewDocument("", document); + Handle(TNaming_NamedShape) axis1 = new TNaming_NamedShape(); + ASSERT_FALSE(axis1.IsNull()); + Handle(TNaming_NamedShape) axis2 = new TNaming_NamedShape(); + ASSERT_FALSE(axis2.IsNull()); + TDF_Label patternsLabel = document->Main(); + TDF_Label newPatternLabel = TDF_TagSource::NewChild(patternsLabel); + // adding the pattern data as an attribute + Handle(TDataXtd_PatternStd) pattern = TDataXtd_PatternStd::Set(newPatternLabel); + ASSERT_FALSE(pattern.IsNull()); + pattern->Signature(3); + TDF_Label nbInst1Lab = TDF_TagSource::NewChild(newPatternLabel); + Handle(TDataStd_Integer) nbInst1Attr = TDataStd_Integer::Set(nbInst1Lab,5); + ASSERT_FALSE(nbInst1Attr.IsNull()); + pattern->NbInstances1(nbInst1Attr); + TDF_Label nbInst2Lab = TDF_TagSource::NewChild(newPatternLabel); + Handle(TDataStd_Integer) nbInst2Attr = TDataStd_Integer::Set(nbInst2Lab,5); + ASSERT_FALSE(nbInst2Attr.IsNull()); + pattern->NbInstances2(nbInst2Attr); + TDF_Label value1Lab = TDF_TagSource::NewChild(newPatternLabel); + Handle(TDataStd_Real) value1Attr = TDataStd_Real::Set(value1Lab,20); + ASSERT_FALSE(value1Attr.IsNull()); + pattern->Value1(value1Attr); + TDF_Label value2Lab = TDF_TagSource::NewChild(newPatternLabel); + Handle(TDataStd_Real) value2Attr = TDataStd_Real::Set(value2Lab,20); + ASSERT_FALSE(value2Attr.IsNull()); + pattern->Value2(value2Attr); + pattern->Axis1(axis1); + pattern->Axis2(axis2); + TDataXtd_Array1OfTrsf trsfArray(0, pattern->NbTrsfs()); + pattern->ComputeTrsfs(trsfArray); +} + +int main(int argc, char **argv){ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} |