Skip to content

Commit f76d898

Browse files
'#TDP - IW
Fixed bug with work DB Added unit-test work with DB and files together
1 parent 79599ac commit f76d898

File tree

4 files changed

+41
-25
lines changed

4 files changed

+41
-25
lines changed
Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,47 @@
1-
require_relative File.dirname($0) + '/../../model_person/list_file/owner_list.rb'
2-
require_relative File.dirname($0) + '/../../model_person/datatable/owners_list.rb'
1+
require_relative File.dirname($0) + '/../../model_auto/list_file/auto_list_json.rb'
2+
require_relative File.dirname($0) + '/../../model_auto/datatable/auto_list.rb'
33
require_relative File.dirname($0) + '/../../model_entity/entity_list/Parking_list.rb'
44
require 'test/unit'
55

6-
class TestOwner_db < Test::Unit::TestCase
6+
class TestAuto_db < Test::Unit::TestCase
77

88
def setup
9-
@owner = Parking_list.intialize_DB(:owner)
9+
@auto = Parking_list.intialize_DB(:auto)
1010
end
1111

12-
def test_initialize_owner
13-
elem = @owner.get_element_by_id(1)
14-
assert_equal("Яковлев", elem["surname"])
15-
assert_equal("Леон", elem["name"])
16-
assert_equal("Тимофеевич", elem["lastname"])
17-
assert_equal("89374225252", elem["phone"])
18-
assert_equal(nil,elem["mail"])
12+
def test_initialize
13+
elem = @auto.get_element_by_id(1)
14+
assert_equal(1, elem["owner_id"])
15+
assert_equal("Higlander", elem["model"])
16+
assert_equal("black", elem["color"])
1917
end
2018

2119
def test_get_k_n
22-
data_list_person_short = @owner.get_k_n_elements_list(1,3,data_list:nil)
20+
data_list_person_short = @auto.get_k_n_elements_list(1,3,data_list:nil)
2321
table = data_list_person_short.getDataFromTable()
24-
initials = table.get_element(0,1)
25-
intitlas_man = table.get_element(1,1)
26-
not_mail = table.get_element(1,3)
27-
assert_equal("initials", initials)
28-
assert_equal("Яковлев Л.Т.", intitlas_man)
29-
assert_equal("not mail", not_mail)
22+
model = table.get_element(0,1)
23+
highlander = table.get_element(1,1)
24+
color = table.get_element(1,2)
25+
assert_equal("model", model)
26+
assert_equal("Higlander", highlander)
27+
assert_equal("black", color)
3028
end
3129

3230
def test_get_elements_count
33-
len = @owner.get_elements_count()
31+
len = @auto.get_elements_count()
3432
assert_equal(3, len)
3533
end
34+
35+
def test_after_db_files_json
36+
@auto.strategy = Entity_adapter.new(Auto_list_json.new(),:auto)
37+
data_list_auto = @auto.get_k_n_elements_list(1,2,data_list:nil)
38+
table = data_list_auto.getDataFromTable()
39+
model = table.get_element(0,1)
40+
model_name = table.get_element(1,1)
41+
id_owner = table.get_element(1,0)
42+
assert_equal("model", model)
43+
assert_equal("X6", model_name)
44+
assert_equal(1, id_owner)
45+
end
3646

3747
end

IndividualWork/model_auto/auto_DB/auto_list_DB.rb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@ def get_k_n_elements_list(k,n,data_list:nil)
1919

2020
list_auto = []
2121
@dbcon.crud_by_db("Select * FROM Auto LIMIT #{limit} OFFSET #{offset};").to_a.each do |elem|
22-
elem = clearData(elem)
2322
auto = Auto.new(
2423
id:elem["id"],
25-
id_owner:elem["id_owner"],
24+
id_owner:Integer(elem["owner_id"]),
2625
model:elem["model"],
2726
color:elem["color"])
2827
list_auto.push(auto)
@@ -38,14 +37,14 @@ def get_k_n_elements_list(k,n,data_list:nil)
3837
def push_element(element)
3938
auto = create_auto(element:element,id:0)
4039
@dbcon.crud_by_db("INSERT INTO Auto
41-
(id_owner,name, model, color)
40+
(owner_id,name, model, color)
4241
VALUES
4342
('#{auto.id_owner}','#{auto.model}','#{auto.color}');")
4443
end
4544

4645
def replace_element_by_id(id,element)
4746
auto = create_auto(element:element,id:id)
48-
@dbcon.crud_by_db("UPDATE Auto SET id_owner = '#{auto.id_owner}', model = '#{auto.model}',color = '#{auto.color}'
47+
@dbcon.crud_by_db("UPDATE Auto SET owner_id = '#{auto.id_owner}', model = '#{auto.model}',color = '#{auto.color}'
4948
WHERE id = #{id};")
5049
end
5150

@@ -60,7 +59,7 @@ def get_elements_count()
6059
private
6160
def create_auto(element:,id:nil)
6261
Auto.new(id:id,
63-
id_owner:element["id_owner"],
62+
id_owner:Integer(element["owner_id"]),
6463
model:element["model"],
6564
color:element["color"])
6665
end

IndividualWork/model_entity/entity_list/Parking_list.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
require_relative '../../model_person/person_DB/owners_list_DB.rb'
22
require_relative '../../model_person/person_DB/guards_list_DB.rb'
3-
#require_relative '../../model_lab/lab_DB/labs_list_DB.rb'
3+
require_relative '../../model_auto/auto_DB/auto_list_DB.rb'
4+
45
require_relative File.dirname($0) + '/entity_adapter.rb'
56

67
class Parking_list
@@ -24,6 +25,8 @@ def self.intialize_DB(entity)
2425
Parking_list.new(Owners_list_DB.new())
2526
when :guard
2627
Parking_list.new(Guards_list_DB.new())
28+
when :auto
29+
Parking_list.new(Auto_list_DB.new())
2730
else
2831
raise ArgumentError, "Invalid argument #{entity}"
2932
end

IndividualWork/model_entity/entity_list/entity_adapter.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#require_relative '../../model_lab/datatable/labs_list.rb'
22
require_relative '../../model_person/datatable/owners_list.rb'
33
require_relative '../../model_person/datatable/guards_list.rb'
4+
require_relative '../../model_auto/datatable/auto_list.rb'
45

56
class Entity_adapter
67

@@ -17,6 +18,9 @@ def initialize(format_file,entity)
1718
when :guard
1819
self.addressFile ="/../../testfile/testfile_guards/"
1920
@entity_list_file = Guards_list.new(format_file)
21+
when :auto
22+
self.addressFile ="/../../testfile/testfile_auto/"
23+
@entity_list_file = Auto_list.new(format_file)
2024
else
2125
raise ArgumentError, "Invalid argument #{entity}"
2226
end

0 commit comments

Comments
 (0)