forked from theforage/forage-jpmc-swe-task-1
-
Notifications
You must be signed in to change notification settings - Fork 0
/
0001-Create-Patch-File.patch
91 lines (82 loc) · 3.14 KB
/
0001-Create-Patch-File.patch
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
From 08e2247da9962adeced43c773a6de9623c76f73e Mon Sep 17 00:00:00 2001
From: SJ-Kumar <jayanthkumar597@gmail.com>
Date: Thu, 27 Apr 2023 19:39:07 +0530
Subject: [PATCH] Create Patch File
---
client3.py | 10 +++++++---
client_test.py | 20 ++++++++++++--------
2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/client3.py b/client3.py
index 3fc09b7..f440958 100644
--- a/client3.py
+++ b/client3.py
@@ -35,14 +35,16 @@ def getDataPoint(quote):
stock = quote['stock']
bid_price = float(quote['top_bid']['price'])
ask_price = float(quote['top_ask']['price'])
- price = bid_price
+ price = (bid_price+ask_price/2)
return stock, bid_price, ask_price, price
def getRatio(price_a, price_b):
""" Get ratio of price_a and price_b """
""" ------------- Update this function ------------- """
- return 1
+ if(price_b==0):
+ return
+ return price_a/price_b
# Main
@@ -52,8 +54,10 @@ if __name__ == "__main__":
quotes = json.loads(urllib.request.urlopen(QUERY.format(random.random())).read())
""" ----------- Update to get the ratio --------------- """
+ prices={}
for quote in quotes:
stock, bid_price, ask_price, price = getDataPoint(quote)
+ prices[stock]=price
print("Quoted %s at (bid:%s, ask:%s, price:%s)" % (stock, bid_price, ask_price, price))
- print("Ratio %s" % getRatio(price, price))
+ print("Ratio %s" % getRatio(prices["ABC"], prices["DEF"]))
diff --git a/client_test.py b/client_test.py
index af2bf26..1d813e2 100644
--- a/client_test.py
+++ b/client_test.py
@@ -1,6 +1,6 @@
import unittest
from client3 import getDataPoint
-
+
class ClientTest(unittest.TestCase):
def test_getDataPoint_calculatePrice(self):
quotes = [
@@ -8,18 +8,22 @@ class ClientTest(unittest.TestCase):
{'top_ask': {'price': 121.68, 'size': 4}, 'timestamp': '2019-02-11 22:06:30.572453', 'top_bid': {'price': 117.87, 'size': 81}, 'id': '0.109974697771', 'stock': 'DEF'}
]
""" ------------ Add the assertion below ------------ """
-
+ for quote in quotes:
+ self =.assertEqual(getDataPoint(quote), (quote['stock'],quote['top_bid']['price'],quote['top_ask']['price'],(quote['top_bid']['price']+quote['top_ask']['price'])/2))
+
def test_getDataPoint_calculatePriceBidGreaterThanAsk(self):
quotes = [
{'top_ask': {'price': 119.2, 'size': 36}, 'timestamp': '2019-02-11 22:06:30.572453', 'top_bid': {'price': 120.48, 'size': 109}, 'id': '0.109974697771', 'stock': 'ABC'},
{'top_ask': {'price': 121.68, 'size': 4}, 'timestamp': '2019-02-11 22:06:30.572453', 'top_bid': {'price': 117.87, 'size': 81}, 'id': '0.109974697771', 'stock': 'DEF'}
]
""" ------------ Add the assertion below ------------ """
-
-
+ for quote in quotes:
+ self =.assertEqual(getDataPoint(quote), (quote['stock'],quote['top_bid']['price'],quote['top_ask']['price'],(quote['top_bid']['price']+quote['top_ask']['price'])/2))
+
+
""" ------------ Add more unit tests ------------ """
-
-
-
+
+
+
if __name__ == '__main__':
- unittest.main()
+ unittest.main()
\ No newline at end of file
--
2.36.1.windows.1