Checkpoint: Added test to ExchangeRepo

Signed-off-by: Marcin Woźniak <y0rune@aol.com>
This commit is contained in:
Marcin Woźniak 2021-01-11 16:56:39 +01:00
parent 76faedc40d
commit 3583d30b26
Signed by: y0rune
GPG Key ID: F204C385F57EB348
2 changed files with 90 additions and 39 deletions

View File

@ -0,0 +1,44 @@
package com.plannaplan.models;
import com.plannaplan.entities.Assignment;
public class MatchData {
private Assignment assignmentOne;
private Assignment assignmentTwo;
public MatchData(Assignment assignmentOne, Assignment assignmentTwo) {
this.assignmentOne = assignmentOne;
this.assignmentTwo = assignmentTwo;
}
public Assignment getAssignmentTwo() {
return assignmentTwo;
}
public Assignment getAssignmentOne() {
return assignmentOne;
}
@Override
public boolean equals(Object o) {
// If the object is compared with itself then return true
if (o == this) {
return true;
}
/*
* Check if o is an instance of Complex or not "null instanceof [type]" also
* returns false
*/
if (!(o instanceof MatchData)) {
return false;
}
// typecast o to Complex so that we can compare data members
MatchData c = (MatchData) o;
// Compare the data members and return accordingly
return (this.assignmentOne.equals(c.getAssignmentOne()) && this.assignmentTwo.equals(c.getAssignmentTwo())) || (this.assignmentOne.equals(c.getAssignmentTwo()) && this.assignmentTwo.equals(c.getAssignmentOne()));
}
}

View File

@ -6,6 +6,7 @@ import java.util.Optional;
import com.plannaplan.entities.Assignment; import com.plannaplan.entities.Assignment;
import com.plannaplan.entities.Exchange; import com.plannaplan.entities.Exchange;
import com.plannaplan.entities.Groups; import com.plannaplan.entities.Groups;
import com.plannaplan.models.MatchData;
import com.plannaplan.repositories.ExchangeRepository; import com.plannaplan.repositories.ExchangeRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -14,50 +15,56 @@ import org.springframework.stereotype.Service;
@Service @Service
public class ExchangeService { public class ExchangeService {
@Autowired @Autowired
private ExchangeRepository repo; private ExchangeRepository repo;
/** /**
* @param exchange Instance to save in database * @param exchange Instance to save in database
* @return Exchange Instance contains database id * @return Exchange Instance contains database id
*/ */
public Exchange save(Exchange exchange) { public Exchange save(Exchange exchange) {
return this.repo.save(exchange); return this.repo.save(exchange);
} }
/** /**
* @param id Id of exchange in database * @param id Id of exchange in database
* @return Optional Exchange if found * @return Optional Exchange if found
*/ */
public Optional<Exchange> getById(Long id) { public Optional<Exchange> getById(Long id) {
return this.repo.findById(id); return this.repo.findById(id);
} }
/** /**
* @param id Id of user * @param id Id of user
* @return List of exchanges that belong to user * @return List of exchanges that belong to user
*/ */
public List<Exchange> getByUserId(Long id) { public List<Exchange> getByUserId(Long id) {
return this.repo.getByUserId(id); return this.repo.getByUserId(id);
} }
/** /**
* @param entity Exchange entity which we would like to delete * @param entity Exchange entity which we would like to delete
*/ */
public void deleteExchange(Exchange entity) { public void deleteExchange(Exchange entity) {
this.repo.delete(entity); this.repo.delete(entity);
} }
/** /**
* @param assignment Assignment to trade for * @param assignment Assignment to trade for
* @param group Desired group * @param group Desired group
* @return Optional with Exchange if exist * @return Optional with Exchange if exist
*/ */
public Optional<Exchange> checkForExchange(Assignment assignment, Groups group) { public Optional<Exchange> checkForExchange(Assignment assignment, Groups group) {
return this.repo.checkForExchange(assignment, group); return this.repo.checkForExchange(assignment, group);
} }
public void performExchange() { public void performExchange() {
} }
// public void getMatches(){
// final List<MatchData> matches = this.repo.getMatches().stream().map(m -> {
// return (MatchData) m;
// });
// }
} }