Skip to content

Instantly share code, notes, and snippets.

View FantailIO's full-sized avatar

Adam Knight FantailIO

View GitHub Profile
@FantailIO
FantailIO / LocationService.java
Created February 19, 2018 09:19
Implementation of the Add Location functionality
package io.fantail.location.service;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.InternalServerErrorException;
@FantailIO
FantailIO / LocationServiceTest.java
Created February 19, 2018 09:18
Tests of the rules for adding a location
package io.fantail.location.service;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.util.HashMap;
import java.util.Map;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.NotFoundException;
@FantailIO
FantailIO / LocationService.java
Created February 19, 2018 08:42
An implementation of LocationService that throws a Not Found exception when it doesn't find a Location
package io.fantail.location.service;
import java.util.HashMap;
import java.util.Map;
import javax.ws.rs.NotFoundException;
import io.fantail.location.model.Location;
public class LocationService {
@FantailIO
FantailIO / LocationServiceTest.java
Created February 19, 2018 08:41
Test that getting a location with an invalid ID throws a "Not Found" error
package io.fantail.location.service;
import java.util.HashMap;
import java.util.Map;
import javax.ws.rs.NotFoundException;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
@FantailIO
FantailIO / LocationServiceTest.java
Last active February 19, 2018 08:11
Testing that only Valid IDs load locations
package io.fantail.location.service;
import java.util.HashMap;
import java.util.Map;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import io.fantail.location.model.Location;
@FantailIO
FantailIO / LocationService.java
Last active February 19, 2018 08:12
Location Service, using a Map instead of a single value
package io.fantail.location.service;
import java.util.HashMap;
import java.util.Map;
import io.fantail.location.model.Location;
public class LocationService {
private Map<String, Location> locations;
@FantailIO
FantailIO / LocationService.java
Last active February 16, 2018 10:05
Initial implementation for LocationService
package io.fantail.location.service;
import io.fantail.location.model.Location;
public class LocationService {
private Location location = new Location();
public Location getLocation(String id) {
return location;
}
@FantailIO
FantailIO / LocationServiceTest.java
Created February 16, 2018 09:18
First cut of a unit test for the Location service
package io.fantail.location.service;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class LocationServiceTest {
private LocationService locationService;
@Before
@FantailIO
FantailIO / Photo.java
Last active February 16, 2018 09:00
A simple model class to hold a Photo
package io.fantail.location.model;
public class Photo {
private String id;
private byte[] image;
private String caption;
}
@FantailIO
FantailIO / Location.java
Last active February 16, 2018 09:00
Simple model class to hold a location
package io.fantail.location.model;
import java.util.List;
public class Location {
private String id;
private String name;
private String intro;
private String description;
private List<Photo> photos;