Skip to content

Instantly share code, notes, and snippets.

View SDiamante13's full-sized avatar
๐Ÿ’
Blogs at diamantetechcoaching.com

Steven Diamante SDiamante13

๐Ÿ’
Blogs at diamantetechcoaching.com
View GitHub Profile
@SDiamante13
SDiamante13 / AccountTestBuilder.java
Created May 8, 2024 02:00
Account test using Test Data Builder
class AccountTest {
@Test
void canPrintAccountStatement() {
Account account = new AccountBuilder().anAccount()
.withDepositOf(500, LocalDate.of(2015, 12, 24))
.withWithdrawalOf(100, LocalDate.of(2016, 8, 23))
.build();
String statement = account.printStatement();
@SDiamante13
SDiamante13 / AccountTest.java
Created May 8, 2024 01:42
Mystery Guest Test Code Smell
class AccountTest {
@Test
void canPrintAccountStatement() {
Account account = AccountMother.accountWithTransactions();
String statement = account.printStatement();
assertThat(statement).isEqualTo("""
Date Amount Balance
24.12.2015 +500 500
@SDiamante13
SDiamante13 / AdvantageOrWinResult.java
Last active June 16, 2022 04:38
Replace Conditional with Polymorphism
class AdvantageOrWinResult extends Result {
AdvantageOrWinResult(int player1Score, int player2Score) {
super(player1Score, player2Score);
}
@Override
String score() {
int minusResult = player1Score - player2Score;
if (minusResult == 1) {
return "Advantage player1";
@SDiamante13
SDiamante13 / Person.java
Created July 20, 2020 21:27
How I use Lombok
package tech.pathtoprogramming.lombokdemo.model;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@SDiamante13
SDiamante13 / PersonService-DI-delombok.java
Created July 20, 2020 21:16
Person Service DI delomboked
// Generated by delombok at Mon Jul 20 16:14:37 CDT 2020
package tech.pathtoprogramming.lombokdemo.model;
public class PersonService {
private final PersonRepository personRepository;
public void savePerson(Person person) {
personRepository.save(person);
}
@SDiamante13
SDiamante13 / PersonServiceDI.java
Created July 20, 2020 21:15
PersonService Dependency Injection using @requiredargsconstructor
package tech.pathtoprogramming.lombokdemo.model;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class PersonService {
private final PersonRepository personRepository;
public void savePerson(Person person) {
@SDiamante13
SDiamante13 / PersonService-delombok.java
Last active July 20, 2020 21:05
PersonService @slf4j delomboked
// Generated by delombok at Mon Jul 20 16:02:03 CDT 2020
package tech.pathtoprogramming.lombokdemo.model;
public class PersonService {
@java.lang.SuppressWarnings("all")
private static final org.slf4j.Logger log =
org.slf4j.LoggerFactory.getLogger(PersonService.class);
public void processPeople() {
log.info("processing people");
@SDiamante13
SDiamante13 / PersonService.java
Created July 20, 2020 21:03
PersonService using @slf4j
package tech.pathtoprogramming.lombokdemo.model;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class PersonService {
public void processPeople() {
log.info("processing people");
}
// Generated by delombok at Mon Jul 20 15:55:34 CDT 2020
package tech.pathtoprogramming.lombokdemo.model;
public class Address {
private String city;
private String state;
private String streetAddress;
private String zipcode;
@java.lang.SuppressWarnings("all")
package tech.pathtoprogramming.lombokdemo.model;
import lombok.AllArgsConstructor;
import lombok.With;
@AllArgsConstructor
@With
public class Address {
private String city;
private String state;