Skip to content

Instantly share code, notes, and snippets.

@xdom
Created October 14, 2016 13:31
Show Gist options
  • Save xdom/d9f2192ca95aac86bdb024da9f3d2c57 to your computer and use it in GitHub Desktop.
Save xdom/d9f2192ca95aac86bdb024da9f3d2c57 to your computer and use it in GitHub Desktop.
package sk.vsds.udp
import sk.vsds.udp.processor.MessageProcessor
import spock.lang.Specification
/**
* Tests {@link UDPServerThread}.
*
* @author Dominik Matta
* @since 1.0
*/
class UDPServerThreadTest extends Specification {
UDPServerThread udpServerThread
DatagramSocket socket
MessageProcessor processor
def setup() {
socket = Stub(DatagramSocket)
processor = Mock(MessageProcessor)
udpServerThread = new UDPServerThread(socket, processor)
}
def "received data should be sent to message processor"() {
given:
byte[] message = "Hello World!".getBytes()
socket.receive(_) >> { DatagramPacket p ->
p.data = message
} >> { udpServerThread.stop() }
when:
udpServerThread.start()
sleep(1000)
then:
1 * processor.process(message)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment