Skip to content

Commit 1a16afa

Browse files
committed
split the code
1 parent 00027fa commit 1a16afa

File tree

2 files changed

+34
-36
lines changed

2 files changed

+34
-36
lines changed

task-2.rb

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
# Deoptimized version of homework task
2-
31
require 'json'
4-
require 'pry'
52
require 'date'
6-
require 'minitest/autorun'
73

84
class User
95
attr_reader :attributes, :sessions
@@ -150,35 +146,3 @@ def work(file_path = 'data.txt', disable_gc = false)
150146
File.write('result.json', "#{report.to_json}\n")
151147
puts "MEMORY USAGE: %d MB" % (`ps -o rss= -p #{Process.pid}`.to_i / 1024)
152148
end
153-
154-
class TestMe < Minitest::Test
155-
def setup
156-
File.write('result.json', '')
157-
File.write('data.txt',
158-
'user,0,Leida,Cira,0
159-
session,0,0,Safari 29,87,2016-10-23
160-
session,0,1,Firefox 12,118,2017-02-27
161-
session,0,2,Internet Explorer 28,31,2017-03-28
162-
session,0,3,Internet Explorer 28,109,2016-09-15
163-
session,0,4,Safari 39,104,2017-09-27
164-
session,0,5,Internet Explorer 35,6,2016-09-01
165-
user,1,Palmer,Katrina,65
166-
session,1,0,Safari 17,12,2016-10-21
167-
session,1,1,Firefox 32,3,2016-12-20
168-
session,1,2,Chrome 6,59,2016-11-11
169-
session,1,3,Internet Explorer 10,28,2017-04-29
170-
session,1,4,Chrome 13,116,2016-12-28
171-
user,2,Gregory,Santos,86
172-
session,2,0,Chrome 35,6,2018-09-21
173-
session,2,1,Safari 49,85,2017-05-22
174-
session,2,2,Firefox 47,17,2018-02-02
175-
session,2,3,Chrome 20,84,2016-11-25
176-
')
177-
end
178-
179-
def test_result
180-
work
181-
expected_result = JSON.parse('{"totalUsers":3,"uniqueBrowsersCount":14,"totalSessions":15,"allBrowsers":"CHROME 13,CHROME 20,CHROME 35,CHROME 6,FIREFOX 12,FIREFOX 32,FIREFOX 47,INTERNET EXPLORER 10,INTERNET EXPLORER 28,INTERNET EXPLORER 35,SAFARI 17,SAFARI 29,SAFARI 39,SAFARI 49","usersStats":{"Leida Cira":{"sessionsCount":6,"totalTime":"455 min.","longestSession":"118 min.","browsers":"FIREFOX 12, INTERNET EXPLORER 28, INTERNET EXPLORER 28, INTERNET EXPLORER 35, SAFARI 29, SAFARI 39","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-09-27","2017-03-28","2017-02-27","2016-10-23","2016-09-15","2016-09-01"]},"Palmer Katrina":{"sessionsCount":5,"totalTime":"218 min.","longestSession":"116 min.","browsers":"CHROME 13, CHROME 6, FIREFOX 32, INTERNET EXPLORER 10, SAFARI 17","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-04-29","2016-12-28","2016-12-20","2016-11-11","2016-10-21"]},"Gregory Santos":{"sessionsCount":4,"totalTime":"192 min.","longestSession":"85 min.","browsers":"CHROME 20, CHROME 35, FIREFOX 47, SAFARI 49","usedIE":false,"alwaysUsedChrome":false,"dates":["2018-09-21","2018-02-02","2017-05-22","2016-11-25"]}}}')
182-
assert_equal expected_result, JSON.parse(File.read('result.json'))
183-
end
184-
end

test.rb

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
require 'minitest/autorun'
2+
require_relative 'task-2.rb'
3+
4+
class TestMe < Minitest::Test
5+
def setup
6+
File.write('result.json', '')
7+
File.write('data.txt',
8+
'user,0,Leida,Cira,0
9+
session,0,0,Safari 29,87,2016-10-23
10+
session,0,1,Firefox 12,118,2017-02-27
11+
session,0,2,Internet Explorer 28,31,2017-03-28
12+
session,0,3,Internet Explorer 28,109,2016-09-15
13+
session,0,4,Safari 39,104,2017-09-27
14+
session,0,5,Internet Explorer 35,6,2016-09-01
15+
user,1,Palmer,Katrina,65
16+
session,1,0,Safari 17,12,2016-10-21
17+
session,1,1,Firefox 32,3,2016-12-20
18+
session,1,2,Chrome 6,59,2016-11-11
19+
session,1,3,Internet Explorer 10,28,2017-04-29
20+
session,1,4,Chrome 13,116,2016-12-28
21+
user,2,Gregory,Santos,86
22+
session,2,0,Chrome 35,6,2018-09-21
23+
session,2,1,Safari 49,85,2017-05-22
24+
session,2,2,Firefox 47,17,2018-02-02
25+
session,2,3,Chrome 20,84,2016-11-25
26+
')
27+
end
28+
29+
def test_result
30+
work
31+
expected_result = JSON.parse('{"totalUsers":3,"uniqueBrowsersCount":14,"totalSessions":15,"allBrowsers":"CHROME 13,CHROME 20,CHROME 35,CHROME 6,FIREFOX 12,FIREFOX 32,FIREFOX 47,INTERNET EXPLORER 10,INTERNET EXPLORER 28,INTERNET EXPLORER 35,SAFARI 17,SAFARI 29,SAFARI 39,SAFARI 49","usersStats":{"Leida Cira":{"sessionsCount":6,"totalTime":"455 min.","longestSession":"118 min.","browsers":"FIREFOX 12, INTERNET EXPLORER 28, INTERNET EXPLORER 28, INTERNET EXPLORER 35, SAFARI 29, SAFARI 39","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-09-27","2017-03-28","2017-02-27","2016-10-23","2016-09-15","2016-09-01"]},"Palmer Katrina":{"sessionsCount":5,"totalTime":"218 min.","longestSession":"116 min.","browsers":"CHROME 13, CHROME 6, FIREFOX 32, INTERNET EXPLORER 10, SAFARI 17","usedIE":true,"alwaysUsedChrome":false,"dates":["2017-04-29","2016-12-28","2016-12-20","2016-11-11","2016-10-21"]},"Gregory Santos":{"sessionsCount":4,"totalTime":"192 min.","longestSession":"85 min.","browsers":"CHROME 20, CHROME 35, FIREFOX 47, SAFARI 49","usedIE":false,"alwaysUsedChrome":false,"dates":["2018-09-21","2018-02-02","2017-05-22","2016-11-25"]}}}')
32+
assert_equal expected_result, JSON.parse(File.read('result.json'))
33+
end
34+
end

0 commit comments

Comments
 (0)