Skip to content

Commit 79599ac

Browse files
'#TPD - IW
FIxed bug with files Added unit-test for files
1 parent ce81f9c commit 79599ac

File tree

11 files changed

+1312
-210
lines changed

11 files changed

+1312
-210
lines changed

IndividualWork/DIAGRAM/Diagram.mdj

Lines changed: 1107 additions & 101 deletions
Large diffs are not rendered by default.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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'
3+
require_relative File.dirname($0) + '/../../model_entity/entity_list/Parking_list.rb'
4+
require 'test/unit'
5+
6+
class TestOwner_db < Test::Unit::TestCase
7+
8+
def setup
9+
@owner = Parking_list.intialize_DB(:owner)
10+
end
11+
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"])
19+
end
20+
21+
def test_get_k_n
22+
data_list_person_short = @owner.get_k_n_elements_list(1,3,data_list:nil)
23+
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)
30+
end
31+
32+
def test_get_elements_count
33+
len = @owner.get_elements_count()
34+
assert_equal(3, len)
35+
end
36+
37+
end
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
require_relative File.dirname($0) + '/../../model_auto/auto.rb'
2+
require_relative File.dirname($0) + '/../../model_auto/list_file/auto_list_json.rb'
3+
require_relative File.dirname($0) + '/../../model_auto/datatable/auto_list.rb'
4+
5+
require 'test/unit'
6+
7+
class TestAuto_json < Test::Unit::TestCase
8+
9+
def setup
10+
@auto_file = Auto_list.new(Auto_list_json.new())
11+
end
12+
13+
def test_initialize_owner
14+
elem = @auto_file.get_element_by_id(1)
15+
assert_equal(1, elem.id_owner)
16+
assert_equal("X6", elem.model)
17+
assert_equal("black", elem.color)
18+
end
19+
20+
21+
def test_get_k_n
22+
data_list_auto = @auto_file.get_k_n_elements_list(1,2,data_list:nil)
23+
table = data_list_auto.getDataFromTable()
24+
model = table.get_element(0,1)
25+
model_name = table.get_element(1,1)
26+
id_owner = table.get_element(1,0)
27+
assert_equal("model", model)
28+
assert_equal("X6", model_name)
29+
assert_equal(1, id_owner)
30+
end
31+
32+
def test_get_elements_count
33+
len = @auto_file.get_elements_count()
34+
assert_equal(2, len)
35+
end
36+
37+
def test_write_files
38+
elements = [
39+
Auto.new(id:1,
40+
id_owner:1,
41+
model:"X6",
42+
color:"black"),
43+
Auto.new(id:2,
44+
id_owner:2,
45+
model:"Highlander",
46+
color:"gray"),
47+
Auto.new(id:3,
48+
id_owner:3,
49+
model:"Skoda",
50+
color:"black")]
51+
52+
@auto_file.write_to_file("/../../testfile/testfile_auto/","test",elements)
53+
54+
data_list_auto = @auto_file.get_k_n_elements_list(1,3,data_list:nil)
55+
table = data_list_auto.getDataFromTable()
56+
assert_equal(3, table.get_element(3,0))
57+
assert_equal("Skoda", table.get_element(3,1))
58+
59+
end
60+
61+
end
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
require_relative File.dirname($0) + './auto.rb'
2+
require_relative '../../model_entity/entity_DB/entity_list_DB.rb'
3+
require 'date'
4+
5+
class Auto_list_DB < Entities_list_DB
6+
7+
def initialize()
8+
super()
9+
end
10+
11+
def get_element_by_id(id)
12+
auto = @dbcon.crud_by_db("Select * FROM Auto WHERE id = #{id}").to_a
13+
auto[0]
14+
end
15+
16+
def get_k_n_elements_list(k,n,data_list:nil)
17+
offset = (k - 1) * n
18+
limit = n
19+
20+
list_auto = []
21+
@dbcon.crud_by_db("Select * FROM Auto LIMIT #{limit} OFFSET #{offset};").to_a.each do |elem|
22+
elem = clearData(elem)
23+
auto = Auto.new(
24+
id:elem["id"],
25+
id_owner:elem["id_owner"],
26+
model:elem["model"],
27+
color:elem["color"])
28+
list_auto.push(auto)
29+
end
30+
31+
if(data_list == nil) then
32+
return Data_list_auto.new(list_auto)
33+
else
34+
return data_list.list_entities = list_auto
35+
end
36+
end
37+
38+
def push_element(element)
39+
auto = create_auto(element:element,id:0)
40+
@dbcon.crud_by_db("INSERT INTO Auto
41+
(id_owner,name, model, color)
42+
VALUES
43+
('#{auto.id_owner}','#{auto.model}','#{auto.color}');")
44+
end
45+
46+
def replace_element_by_id(id,element)
47+
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}'
49+
WHERE id = #{id};")
50+
end
51+
52+
def delete_element_by_id(id)
53+
@dbcon.crud_by_db("Delete from Auto WHERE id = #{id}")
54+
end
55+
56+
def get_elements_count()
57+
return @dbcon.crud_by_db("Select count(*) FROM Auto").to_a[0]['count(*)']
58+
end
59+
60+
private
61+
def create_auto(element:,id:nil)
62+
Auto.new(id:id,
63+
id_owner:element["id_owner"],
64+
model:element["model"],
65+
color:element["color"])
66+
end
67+
68+
end

IndividualWork/model_auto/lab_DB/labs_list_DB.rb

Lines changed: 0 additions & 103 deletions
This file was deleted.

IndividualWork/model_auto/list_file/auto_list_json.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ class Auto_list_json < Entities_list_from_file
88
#--------------------Test dev - Labs ------------------------
99
attr_accessor :addressFile
1010
def initialize()
11-
self.addressFile = "./testfile/testfile_auto/test.json"
11+
self.addressFile = "testfile/testfile_auto/test.json"
1212
end
1313
#----------------------------------------------------
1414

1515
def read_from_file(addressFile)
16-
addressFile = self.addressFile if (addressFile == nil)
16+
addressFile = File.dirname($0) + "/../../#{self.addressFile}" if addressFile==nil
1717
raise "Address file don't correct, check this." if(!File.exist?(addressFile))
1818
autos = Array.new()
1919
file = File.read addressFile

IndividualWork/model_auto/list_file/auto_list_txt.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ class Auto_list_txt < Entities_list_from_file
55
#--------------------Test dev - autos ------------------------
66
attr_accessor :addressFile
77
def initialize()
8-
self.addressFile = "./testfile/testfile_auto/test.txt"
8+
self.addressFile = "testfile/testfile_auto/test.txt"
99
end
1010
#----------------------------------------------------
1111
def read_from_file(addressFile)
12-
addressFile = self.addressFile if (addressFile == nil)
12+
addressFile = File.dirname($0) + "/../../#{self.addressFile}" if addressFile==nil
1313
raise "Address file don't correct, check this." if(!File.exist?(addressFile))
1414
autos = Array.new()
1515
File.open(addressFile,'r') do |file|

IndividualWork/model_auto/list_file/auto_list_yaml.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ class Auto_list_yaml < Entities_list_from_file
88
#--------------------Test dev - autos ------------------------
99
attr_accessor :addressFile
1010
def initialize()
11-
self.addressFile = "./testfile/testfile_auto/test.yaml"
11+
self.addressFile = "testfile/testfile_auto/test.yaml"
1212
end
1313
#----------------------------------------------------
1414

1515
def read_from_file(addressFile)
16-
addressFile = self.addressFile if (addressFile == nil)
16+
addressFile = File.dirname($0) + "/../../#{self.addressFile}" if addressFile==nil
1717
raise "Address file don't correct, check this." if(!File.exist?(addressFile))
1818

1919
autos = Array.new()
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"auto1": {
3+
"id": 1,
4+
"id_owner": 1,
5+
"model": "X6",
6+
"color": "black"
7+
},
8+
"auto2": {
9+
"id": 2,
10+
"id_owner": 2,
11+
"model": "Highlander",
12+
"color": "gray"
13+
},
14+
"auto3": {
15+
"id": 3,
16+
"id_owner": 3,
17+
"model": "Skoda",
18+
"color": "black"
19+
}
20+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
1,1 ,X6 ,black
2+
2,2 ,Higlander ,gray

0 commit comments

Comments
 (0)