package com.drivergrp.core import java.io.ByteArrayOutputStream import org.scalatest.mock.MockitoSugar import org.scalatest.{FlatSpec, Matchers} import org.mockito.Mockito._ class CoreTest extends FlatSpec with Matchers with MockitoSugar { "'make' function" should "allow initialization for objects" in { val createdAndInitializedValue = make(new ByteArrayOutputStream(128)) { baos => baos.write(Array(1.toByte, 1.toByte, 0.toByte)) } createdAndInitializedValue.toByteArray should be(Array(1.toByte, 1.toByte, 0.toByte)) } "'using' function" should "call close after performing action on resource" in { val baos = mock[ByteArrayOutputStream] using(baos /* usually new ByteArrayOutputStream(128) */ ) { baos => baos.write(Array(1.toByte, 1.toByte, 0.toByte)) } verify(baos).close() } }