blob: 532e583f123ed057fc53e201ba0638d499ae9a78 (
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
require_relative '../felflame.rb'
#class EntitiesTest < Minitest::Test
describe 'Entities' do
#let :component_manager do
# @component_manager ||= FelFlame::Components.new('Test', :param1, param2: 'def')
#end
before :all do
@component_manager ||= FelFlame::Components.new('TestEntity', :param1, param2: 'def')
end
before :each do
@ent0 = FelFlame::Entities.new
@ent1 = FelFlame::Entities.new
@ent2 = FelFlame::Entities.new
@cmp0 = @component_manager.new
@cmp1 = @component_manager.new
@cmp2 = @component_manager.new
end
after :each do
FelFlame::Entities.each(&:delete)
@component_manager.each(&:delete)
end
it 'won\'t add duplicate entities' do
@ent0.add @cmp0, @cmp0, @cmp1, @cmp1
expect(@ent0.components[@component_manager].count).to eq(2)
end
it 'has correct ID\'s' do
expect(@ent0.id).to eq(0)
expect(@ent1.id).to eq(1)
expect(@ent2.id).to eq(2)
end
it 'can be accessed' do
expect(@ent0).to eq(FelFlame::Entities[0])
expect(@ent1).to eq(FelFlame::Entities[1])
expect(@ent2).to eq(FelFlame::Entities[2])
end
it 'can have components attached' do
@ent0.add @cmp0
expect(@ent0.components[@component_manager][0]).to eq(@cmp0.id)
@ent1.add @cmp1, @cmp2
expect(@ent1.components[@component_manager].length).to eq(2)
expect(@ent1.components[@component_manager].include?(@cmp1.id)).to be true
expect(@ent1.components[@component_manager].include?(@cmp2.id)).to be true
end
it 'can have components removed' do
@ent0.add @cmp0
expect(@ent0.remove @cmp0).to be true
expect(@ent0.components[@component_manager].empty?).to be true
end
it 'can get id from to_i' do
expect(@ent0.id).to eq(@ent0.to_i)
expect(@ent1.id).to eq(@ent1.to_i)
expect(@ent2.id).to eq(@ent2.to_i)
end
end
|