1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace Tests\TestModel; |
4
|
|
|
|
5
|
|
|
use Xml\{ |
6
|
|
|
ModelBuilder, |
7
|
|
|
ModelInterface |
8
|
|
|
}; |
9
|
|
|
use Tests\TestModel\Instance\{ |
10
|
|
|
Animal, |
11
|
|
|
Animals, |
12
|
|
|
AnimalReference, |
13
|
|
|
Bird, |
14
|
|
|
ChildRelationshipDefinition, |
15
|
|
|
Description, |
16
|
|
|
FlightPartnerRef, |
17
|
|
|
FlyingAnimal, |
18
|
|
|
Guardian, |
19
|
|
|
GuardEgg, |
20
|
|
|
Mother, |
21
|
|
|
SpouseRef, |
22
|
|
|
FriendRelationshipDefinition, |
23
|
|
|
RelationshipDefinition, |
24
|
|
|
RelationshipDefinitionRef, |
25
|
|
|
Egg, |
26
|
|
|
FlightInstructor, |
27
|
|
|
Wings |
28
|
|
|
}; |
29
|
|
|
|
30
|
|
|
class TestModel |
31
|
|
|
{ |
32
|
|
|
private static $model; |
33
|
|
|
private static $modelBuilder; |
34
|
|
|
|
35
|
|
|
public static function getTestModel(): ModelInterface |
36
|
|
|
{ |
37
|
|
|
if (self::$model === null) { |
38
|
|
|
$modelBuilder = self::getModelBuilder(); |
39
|
|
|
|
40
|
|
|
Animals::registerType($modelBuilder); |
41
|
|
|
Animal::registerType($modelBuilder); |
42
|
|
|
Description::registerType($modelBuilder); |
43
|
|
|
RelationshipDefinition::registerType($modelBuilder); |
44
|
|
|
RelationshipDefinitionRef::registerType($modelBuilder); |
45
|
|
|
FriendRelationshipDefinition::registerType($modelBuilder); |
46
|
|
|
ChildRelationshipDefinition::registerType($modelBuilder); |
47
|
|
|
AnimalReference::registerType($modelBuilder); |
48
|
|
|
FlightPartnerRef::registerType($modelBuilder); |
49
|
|
|
FlightInstructor::registerType($modelBuilder); |
50
|
|
|
FlyingAnimal::registerType($modelBuilder); |
51
|
|
|
Bird::registerType($modelBuilder); |
52
|
|
|
Guardian::registerType($modelBuilder); |
53
|
|
|
GuardEgg::registerType($modelBuilder); |
54
|
|
|
Mother::registerType($modelBuilder); |
55
|
|
|
SpouseRef::registerType($modelBuilder); |
56
|
|
|
Egg::registerType($modelBuilder); |
57
|
|
|
Wings::registerType($modelBuilder); |
58
|
|
|
|
59
|
|
|
self::$model = $modelBuilder->build(); |
60
|
|
|
} |
61
|
|
|
|
62
|
|
|
return self::$model; |
63
|
|
|
} |
64
|
|
|
|
65
|
|
|
public static function getModelBuilder(): ModelBuilder |
66
|
|
|
{ |
67
|
|
|
if (self::$modelBuilder === null) { |
68
|
|
|
self::$modelBuilder = ModelBuilder::createInstance(TestModelConstants::MODEL_NAME); |
69
|
|
|
} |
70
|
|
|
return self::$modelBuilder; |
71
|
|
|
} |
72
|
|
|
} |
73
|
|
|
|