Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SeAssg
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
KARANVEER SINGH
SeAssg
Commits
87ff5c8c
Commit
87ff5c8c
authored
Jan 21, 2018
by
karan-saroya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated JUnit Tests
parent
584b13ad
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
190 additions
and
33 deletions
+190
-33
StockMarket/Jtest.java
StockMarket/Jtest.java
+150
-1
StockMarket/StockMarket.java
StockMarket/StockMarket.java
+40
-32
No files found.
StockMarket/Jtest.java
View file @
87ff5c8c
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.*;
import
static
org
.
junit
.
jupiter
.
api
.
Assertions
.*;
import
java.util.ArrayList
;
import
org.junit.jupiter.api.Test
;
import
org.junit.jupiter.api.Test
;
import
junit.framework.Assert
;
import
junit.framework.Assert
;
...
@@ -7,8 +9,155 @@ import junit.framework.Assert;
...
@@ -7,8 +9,155 @@ import junit.framework.Assert;
class
Jtest
{
class
Jtest
{
@Test
@Test
void
test
()
{
void
testOrder
()
{
Order
order
=
new
Order
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
assertEquals
(
1
,
order
.
getOrderTS
());
assertEquals
(
100
,
order
.
getCustID
());
assertEquals
(
"Apple"
,
order
.
getStockName
());
assertEquals
(
"Buy"
,
order
.
getTradeType
());
assertEquals
(
70
,
order
.
getPrice
());
assertEquals
(
100
,
order
.
getQuantity
());
}
@Test
void
testSetPrice
()
{
Order
order
=
new
Order
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
order
.
setPrice
(
20
);
assertEquals
(
20
,
order
.
getPrice
());
}
@Test
void
testSetQuant
()
{
Order
order
=
new
Order
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
order
.
setQuantity
(
30
);
assertEquals
(
30
,
order
.
getQuantity
());
}
@Test
void
testGetQuant
()
{
Order
order
=
new
Order
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
assertEquals
(
100
,
order
.
getQuantity
());
}
@Test
void
testGetPrice
()
{
Order
order
=
new
Order
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
assertEquals
(
70
,
order
.
getPrice
());
}
@Test
void
testGetStockName
()
{
Order
order
=
new
Order
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
assertEquals
(
"Apple"
,
order
.
getStockName
());
}
@Test
void
testGetType
()
{
Order
order
=
new
Order
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
assertEquals
(
"Buy"
,
order
.
getTradeType
());
}
@Test
void
testToString
()
{
Order
order
=
new
Order
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
assertEquals
(
1
+
","
+
100
+
","
+
"Apple"
+
","
+
"Buy,"
+
70
+
","
+
100
,
order
.
toString
());
}
@Test
void
testViewList
()
{
StockMarket
market
=
new
StockMarket
();
market
.
pending_list
=
new
ArrayList
<
Order
>();
market
.
AddOrder
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
market
.
AddOrder
(
2
,
101
,
"Apple"
,
"Buy"
,
170
,
200
);
assertEquals
(
"1,100,Apple,Buy,70,100\n"
+
"2,101,Apple,Buy,170,200"
,
market
.
ViewList
());
}
@Test
void
testAddOrder
()
{
StockMarket
market
=
new
StockMarket
();
market
.
pending_list
=
new
ArrayList
<
Order
>();
market
.
AddOrder
(
1
,
100
,
"Apple"
,
"Buy"
,
70
,
100
);
market
.
AddOrder
(
2
,
101
,
"Apple"
,
"Buy"
,
170
,
200
);
assertEquals
(
"1,100,Apple,Buy,70,100\n"
+
"2,101,Apple,Buy,170,200"
,
market
.
ViewList
());
}
@Test
void
testAddOrder2
()
{
StockMarket
market
=
new
StockMarket
();
market
.
pending_list
=
new
ArrayList
<
Order
>();
assertEquals
(
false
,
market
.
AddOrder
(
1
,
100
,
"Apple"
,
"buy"
,
70
,
100
));
assertEquals
(
true
,
market
.
AddOrder
(
2
,
101
,
"Apple"
,
"sell"
,
70
,
20
));
}
}
@Test
void
testAddOrder3
()
{
StockMarket
market
=
new
StockMarket
();
market
.
pending_list
=
new
ArrayList
<
Order
>();
assertEquals
(
false
,
market
.
AddOrder
(
1
,
100
,
"Apple"
,
"buy"
,
70
,
100
));
assertEquals
(
false
,
market
.
AddOrder
(
2
,
101
,
"Apple"
,
"buy"
,
70
,
20
));
assertEquals
(
true
,
market
.
AddOrder
(
3
,
104
,
"Apple"
,
"sell"
,
70
,
120
));
}
@Test
void
testAddOrder4
()
{
StockMarket
market
=
new
StockMarket
();
market
.
pending_list
=
new
ArrayList
<
Order
>();
assertEquals
(
false
,
market
.
AddOrder
(
1
,
100
,
"Apple"
,
"buy"
,
70
,
100
));
assertEquals
(
false
,
market
.
AddOrder
(
2
,
100
,
"Apple"
,
"buy"
,
70
,
20
));
assertEquals
(
false
,
market
.
AddOrder
(
3
,
104
,
"Baidu"
,
"sell"
,
70
,
120
));
assertEquals
(
false
,
market
.
AddOrder
(
4
,
105
,
"Baidu"
,
"buy"
,
80
,
130
));
}
@Test
void
testAddOrder5
()
{
StockMarket
market
=
new
StockMarket
();
market
.
pending_list
=
new
ArrayList
<
Order
>();
assertEquals
(
false
,
market
.
AddOrder
(
1
,
100
,
"Apple"
,
"sell"
,
70
,
100
));
assertEquals
(
false
,
market
.
AddOrder
(
2
,
100
,
"Apple"
,
"sell"
,
80
,
20
));
assertEquals
(
true
,
market
.
AddOrder
(
3
,
104
,
"Apple"
,
"buy"
,
90
,
120
));
}
@Test
void
testAddOrder6
()
{
StockMarket
market
=
new
StockMarket
();
market
.
pending_list
=
new
ArrayList
<
Order
>();
assertEquals
(
false
,
market
.
AddOrder
(
1
,
100
,
"Apple"
,
"sell"
,
70
,
100
));
assertEquals
(
false
,
market
.
AddOrder
(
2
,
100
,
"Apple"
,
"sell"
,
80
,
20
));
assertEquals
(
false
,
market
.
AddOrder
(
3
,
104
,
"Apple"
,
"buy"
,
90
,
140
));
}
}
}
StockMarket/StockMarket.java
View file @
87ff5c8c
...
@@ -19,7 +19,26 @@ public class StockMarket
...
@@ -19,7 +19,26 @@ public class StockMarket
String
s
=
buf
.
readLine
();
String
s
=
buf
.
readLine
();
if
(
s
.
equals
(
"1"
))
if
(
s
.
equals
(
"1"
))
{
{
boolean
is_trade
=
stock_market
.
AddOrder
(
count
,
buf
);
System
.
out
.
println
(
"Enter your Customer ID"
);
int
cid
=
Integer
.
parseInt
(
buf
.
readLine
());
System
.
out
.
println
(
"Enter the Stock Name"
);
String
sname
=(
buf
.
readLine
());
sname
=
sname
.
toLowerCase
();
System
.
out
.
println
(
"Enter your Trade Type(Buy/Sell)"
);
String
type
=
buf
.
readLine
();
type
=
type
.
toLowerCase
();
while
(!(
type
.
equals
(
"buy"
)
||
type
.
equals
(
"sell"
)))
{
System
.
out
.
println
(
"Please Enter Buy or Sell"
);
type
=
buf
.
readLine
();
type
=
type
.
toLowerCase
();
}
System
.
out
.
println
(
"Enter your Price"
);
int
price
=
Integer
.
parseInt
(
buf
.
readLine
());
System
.
out
.
println
(
"Enter your Quantity"
);
int
quant
=
Integer
.
parseInt
(
buf
.
readLine
());
boolean
is_trade
=
stock_market
.
AddOrder
(
count
,
cid
,
sname
,
type
,
price
,
quant
);
if
(
is_trade
)
if
(
is_trade
)
System
.
out
.
println
(
"Trade Made\n"
);
System
.
out
.
println
(
"Trade Made\n"
);
else
else
...
@@ -28,7 +47,7 @@ public class StockMarket
...
@@ -28,7 +47,7 @@ public class StockMarket
}
}
else
if
(
s
.
equals
(
"2"
))
else
if
(
s
.
equals
(
"2"
))
{
{
stock_market
.
ViewList
(
);
System
.
out
.
println
(
stock_market
.
ViewList
()
);
}
}
else
else
{
{
...
@@ -36,44 +55,33 @@ public class StockMarket
...
@@ -36,44 +55,33 @@ public class StockMarket
}
}
}
}
}
}
void
ViewList
()
String
ViewList
()
{
{
if
(
pending_list
.
size
()
==
0
)
if
(
pending_list
.
size
()
==
0
)
{
{
System
.
out
.
println
(
"List is empty\n"
);
System
.
out
.
println
(
"List is empty\n"
);
return
""
;
}
}
else
else
{
{
String
ans
=
""
;
for
(
int
i
=
0
;
i
<
pending_list
.
size
();
i
++)
for
(
int
i
=
0
;
i
<
pending_list
.
size
();
i
++)
{
{
System
.
out
.
println
(
pending_list
.
get
(
i
).
toString
());
System
.
out
.
println
(
""
);
}
//System.out.println(pending_list.get(i).toString());
if
(
i
==
pending_list
.
size
()-
1
)
ans
+=
pending_list
.
get
(
i
).
toString
();
else
ans
+=
pending_list
.
get
(
i
).
toString
()+
"\n"
;
//System.out.println("");
}
}
return
ans
;
}
}
boolean
AddOrder
(
int
count
,
BufferedReader
buf
)
throws
Exception
}
boolean
AddOrder
(
int
count
,
int
cid
,
String
sname
,
String
type
,
int
price
,
int
quant
)
{
{
boolean
trade
=
false
;
boolean
trade
=
false
;
System
.
out
.
println
(
"Enter your Customer ID"
);
int
cid
=
Integer
.
parseInt
(
buf
.
readLine
());
System
.
out
.
println
(
"Enter the Stock Name"
);
String
sname
=(
buf
.
readLine
());
sname
=
sname
.
toLowerCase
();
System
.
out
.
println
(
"Enter your Trade Type(Buy/Sell)"
);
String
type
=
buf
.
readLine
();
type
=
type
.
toLowerCase
();
while
(!(
type
.
equals
(
"buy"
)
||
type
.
equals
(
"sell"
)))
{
System
.
out
.
println
(
"Please Enter Buy or Sell"
);
type
=
buf
.
readLine
();
type
=
type
.
toLowerCase
();
}
System
.
out
.
println
(
"Enter your Price"
);
int
price
=
Integer
.
parseInt
(
buf
.
readLine
());
System
.
out
.
println
(
"Enter your Quantity"
);
int
quant
=
Integer
.
parseInt
(
buf
.
readLine
());
Order
new_order
=
new
Order
(
count
,
cid
,
sname
,
type
,
price
,
quant
);
Order
new_order
=
new
Order
(
count
,
cid
,
sname
,
type
,
price
,
quant
);
boolean
ans
=
MatchOrder
(
new_order
);
boolean
ans
=
MatchOrder
(
new_order
);
if
(
ans
==
true
)
if
(
ans
==
true
)
...
@@ -148,12 +156,12 @@ public class StockMarket
...
@@ -148,12 +156,12 @@ public class StockMarket
}
}
class
Order
class
Order
{
{
int
order_ts
;
// Timestamp
private
int
order_ts
;
// Timestamp
int
cust_id
;
// Customer Id
private
int
cust_id
;
// Customer Id
String
stock_name
;
// Stock ID
private
String
stock_name
;
// Stock ID
String
trade_type
;
// B for Buy, S for Sell
private
String
trade_type
;
// B for Buy, S for Sell
int
price
;
// The price at which the trade should proceed
private
int
price
;
// The price at which the trade should proceed
int
quantity
;
// How many stocks to buy or sell
private
int
quantity
;
// How many stocks to buy or sell
public
Order
(
int
ts
,
int
cid
,
String
sid
,
String
type
,
int
cost
,
int
quant
)
public
Order
(
int
ts
,
int
cid
,
String
sid
,
String
type
,
int
cost
,
int
quant
)
{
{
this
.
order_ts
=
ts
;
this
.
order_ts
=
ts
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment