Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
kurs_java_alx_20240321
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
kurs_java_alx_20240321
Commits
b0b4d458
Commit
b0b4d458
authored
Apr 12, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Konto.przelew
parent
2ae2b190
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
4 deletions
+33
-4
Konto.java
src/p11_klasy/enkapsulacja/Konto.java
+14
-3
KontoTest.java
src/p11_klasy/enkapsulacja/KontoTest.java
+19
-1
No files found.
src/p11_klasy/enkapsulacja/Konto.java
View file @
b0b4d458
...
@@ -46,7 +46,7 @@ public class Konto {
...
@@ -46,7 +46,7 @@ public class Konto {
public
void
wplata
(
int
kwota
)
{
public
void
wplata
(
int
kwota
)
{
if
(
kwota
<=
0
)
{
if
(
kwota
<=
0
)
{
throw
new
IllegalArgumentException
(
"
ujemna kwota wpłaty
"
);
throw
new
IllegalArgumentException
(
"
Kwota nie jest dodatnia
"
);
}
}
// this.saldo += kwota;
// this.saldo += kwota;
this
.
saldo
=
Math
.
addExact
(
this
.
saldo
,
kwota
);
this
.
saldo
=
Math
.
addExact
(
this
.
saldo
,
kwota
);
...
@@ -54,12 +54,23 @@ public class Konto {
...
@@ -54,12 +54,23 @@ public class Konto {
public
void
wyplata
(
int
kwota
)
throws
BrakSrodkow
{
public
void
wyplata
(
int
kwota
)
throws
BrakSrodkow
{
if
(
kwota
<=
0
)
{
if
(
kwota
<=
0
)
{
throw
new
IllegalArgumentException
(
"
ujemna kwota wypłaty
"
);
throw
new
IllegalArgumentException
(
"
Kwota nie jest dodatnia
"
);
}
}
if
(
kwota
>
saldo
)
{
if
(
kwota
>
saldo
)
{
throw
new
BrakSrodkow
(
"
z
a mało kasy"
);
throw
new
BrakSrodkow
(
"
Z
a mało kasy"
);
}
}
// this.saldo -= kwota;
// this.saldo -= kwota;
this
.
saldo
=
Math
.
subtractExact
(
this
.
saldo
,
kwota
);
this
.
saldo
=
Math
.
subtractExact
(
this
.
saldo
,
kwota
);
}
}
public
void
przelew
(
Konto
inne
,
int
kwota
)
throws
BrakSrodkow
{
if
(
kwota
<=
0
)
{
throw
new
IllegalArgumentException
(
"Kwota nie jest dodatnia"
);
}
if
(
kwota
>
saldo
)
{
throw
new
BrakSrodkow
(
"Za mało kasy"
);
}
this
.
saldo
-=
kwota
;
inne
.
saldo
+=
kwota
;
}
}
}
src/p11_klasy/enkapsulacja/KontoTest.java
View file @
b0b4d458
...
@@ -18,7 +18,7 @@ class KontoTest {
...
@@ -18,7 +18,7 @@ class KontoTest {
@Test
@Test
void
testWplata
()
{
void
testWplata
()
{
konto
.
wplata
(
300
);
konto
.
wplata
(
300
);
// w testach jednostkowych nie pri
tnujemy danych na ekran, tylko sprawdzamy za pomocą "
sercji" czy wyniki się zgadzają
// w testach jednostkowych nie pri
ntujemy danych na ekran, tylko sprawdzamy za pomocą "a
sercji" czy wyniki się zgadzają
// assert konto.getSaldo() == 1300;
// assert konto.getSaldo() == 1300;
// zazwyczaj używa się asercji definiowanych przez JUnit lub inne dodatkowe biblioteki
// zazwyczaj używa się asercji definiowanych przez JUnit lub inne dodatkowe biblioteki
assertEquals
(
1300
,
konto
.
getSaldo
());
assertEquals
(
1300
,
konto
.
getSaldo
());
...
@@ -97,4 +97,22 @@ class KontoTest {
...
@@ -97,4 +97,22 @@ class KontoTest {
assertEquals
(
1000
,
konto
.
getSaldo
());
assertEquals
(
1000
,
konto
.
getSaldo
());
}
}
@Test
void
testPrzelew
()
throws
BrakSrodkow
{
Konto
inne
=
new
Konto
(
2
,
2000
,
new
Osoba
(
"Ola"
,
"Malinowska"
,
"2000-01-01"
));
konto
.
przelew
(
inne
,
400
);
assertEquals
(
600
,
konto
.
getSaldo
());
assertEquals
(
2400
,
inne
.
getSaldo
());
}
@Test
void
testPrzelewUjemny
()
{
Konto
inne
=
new
Konto
(
2
,
2000
,
new
Osoba
(
"Ola"
,
"Malinowska"
,
"2000-01-01"
));
assertThrows
(
IllegalArgumentException
.
class
,
()
->
{
konto
.
przelew
(
inne
,
-
100
);
});
assertEquals
(
1000
,
konto
.
getSaldo
());
assertEquals
(
2000
,
inne
.
getSaldo
());
}
// analogicznie dla BrakSrodkow
}
}
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