FreeCAD
1// SPDX-License-Identifier: LGPL-2.1-or-later
2
3#include <gtest/gtest.h>
4
5#include <FCConfig.h>
6
7#include <App/Application.h>
8#include <App/Document.h>
9#include <App/Expression.h>
10#include <App/ObjectIdentifier.h>
11#include <Mod/Assembly/App/AssemblyObject.h>
12#include <Mod/Assembly/App/JointGroup.h>
13#include <src/App/InitApplication.h>
14
15class AssemblyObjectTest: public ::testing::Test
16{
17protected:
18static void SetUpTestSuite()
19{
20tests::initApplication();
21}
22
23void SetUp() override
24{
25_docName = App::GetApplication().getUniqueDocumentName("test");
26auto _doc = App::GetApplication().newDocument(_docName.c_str(), "testUser");
27_assemblyObj =
28static_cast<Assembly::AssemblyObject*>(_doc->addObject("Assembly::AssemblyObject"));
29_jointGroupObj = static_cast<Assembly::JointGroup*>(
30_assemblyObj->addObject("Assembly::JointGroup", "jointGroupTest"));
31}
32
33void TearDown() override
34{
35App::GetApplication().closeDocument(_docName.c_str());
36}
37
38Assembly::AssemblyObject* getObject()
39{
40return _assemblyObj;
41}
42
43private:
44// TODO: use shared_ptr or something else here?
45Assembly::AssemblyObject* _assemblyObj;
46Assembly::JointGroup* _jointGroupObj;
47std::string _docName;
48};
49
50TEST_F(AssemblyObjectTest, createAssemblyObject) // NOLINT
51{
52// Arrange
53
54// Act
55
56// Assert
57}
58