当前位置: 首页>>代码示例>>Scala>>正文


Scala LocalTime类代码示例

本文整理汇总了Scala中java.time.LocalTime的典型用法代码示例。如果您正苦于以下问题:Scala LocalTime类的具体用法?Scala LocalTime怎么用?Scala LocalTime使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了LocalTime类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。

示例1: TimeServiceImpl

//设置package包名称以及导入依赖的类
package time.impl

import time.api.TimeService
import com.lightbend.lagom.javadsl.api.ServiceCall
import akka.NotUsed
import java.util.concurrent.CompletableFuture
import java.util.concurrent.CompletionStage
import java.time.LocalTime
import java.time.ZoneId

class TimeServiceImpl extends TimeService{

  
  override def timeAt(tz: String): ServiceCall[NotUsed, String] = {
    new ServiceCall[NotUsed, String] {
      
      override def invoke(obj: NotUsed) : CompletionStage[String] = {
        val c = new CompletableFuture[String]
        c.complete(LocalTime.now(ZoneId.of(tz, ZoneId.SHORT_IDS)).toString)
        c
      }
      
    }
  }
  
} 
开发者ID:oswaldo,项目名称:lagom-scala-scalajs-scalatags,代码行数:27,代码来源:TimeServiceImpl.scala

示例2: Time

//设置package包名称以及导入依赖的类
package uk.vitalcode.dateparser.token

import java.time.LocalTime
import java.time.format.DateTimeFormatter

import scala.util.Try

final case class Time(value: LocalTime, index: Int) extends DateToken

object Time extends TokenCompanion[Time] {

  def apply(hours: Int, minutes: Int, seconds: Int = 0, index: Int = 0): Time = Time(LocalTime.of(hours, minutes, seconds), index)

  private val timeFormatter: DateTimeFormatter = DateTimeFormatter.ofPattern(""
    + "[h.m[.s]a]"
    + "[h[:m][:s]a]"
    + "[H.m[.s]]"
    + "[H:m[:s]]"
  )

  // matches with either : or .  separators,
  // will match a 24 hour time, or a 12 hour time with AM or PM specified,
  // allows 0-59 minutes, and 0-59 seconds. Seconds are not required.
  // http://regexlib.com/REDetails.aspx?regexp_id=144
  private val timeRegEx =
  """((([0]?[1-9]|1[0-2])((:|\.)[0-5]?[0-9])?((:|\.)[0-5]?[0-9])?( )?(AM|am|aM|Am|PM|pm|pM|Pm))|(([0]?[0-9]|1[0-9]|2[0-3])(:|\.)[0-5]?[0-9]((:|\.)[0-5]?[0-9])?))""".r

  override def of(text: String, index: Int): Try[Time] = Try {
    timeRegEx.findFirstIn(text)
      .map(_.replaceAll("""\s*""", "").toUpperCase)
      .map(timeString => LocalTime.parse(timeString, timeFormatter))
      .map(localTime => Time(localTime, index))
      .get
  }
} 
开发者ID:vitalcode,项目名称:date-time-range-parser,代码行数:36,代码来源:Time.scala

示例3: DateTimeInterval

//设置package包名称以及导入依赖的类
package uk.vitalcode.dateparser

import java.time.format.DateTimeFormatter
import java.time.{LocalDate, LocalDateTime, LocalTime}

import uk.vitalcode.dateparser.token.DateToken

case class DateTimeInterval(from: LocalDateTime, to: Option[LocalDateTime]) {
  def to(date: LocalDate, time: LocalTime): DateTimeInterval = copy(
    to = Some(LocalDateTime.of(date, time))
  )

  def to(year: Int, month: Int, day: Int, hours: Int = 0, minutes: Int = 0): DateTimeInterval = copy(
    to = Some(LocalDateTime.of(year, month, day, hours, minutes))
  )

  private def formatDate(date: LocalDateTime) = date.format(DateTimeFormatter.ISO_DATE_TIME)

  override def toString: String = s"interval[from: ${formatDate(from)}" + to.map(d => s" to: ${formatDate(d)}").getOrElse("") + "]"
}

object DateTimeInterval {

  val defaultTime = LocalTime.of(0, 0)

  def from(date: LocalDate, time: LocalTime): DateTimeInterval = new DateTimeInterval(
    from = LocalDateTime.of(date, time),
    to = None
  )

  def from(year: Int, month: Int, day: Int, hours: Int = 0, minutes: Int = 0): DateTimeInterval = new DateTimeInterval(
    from = LocalDateTime.of(year, month, day, hours, minutes),
    to = None
  )

  def of(dateTokens: List[DateToken], tp: DateTimeProvider): List[DateTimeInterval] = {
    val aggregatedTokens = aggregateTokens(dateTokens, tp)
    Analyser.analyse(aggregatedTokens)
  }

  def of(text: String, tp: DateTimeProvider = new DefaultDateTimeProvider): List[DateTimeInterval] = {
    val tokens = DateToken.parse(text)
    of(tokens, tp)
  }

  private def aggregateTokens(dateTokens: List[DateToken], timeProvider: DateTimeProvider): List[DateToken] = {
    val aggregatedTokens = DateTokenAggregator.aggregate(dateTokens, timeProvider)
    if (aggregatedTokens == dateTokens) aggregatedTokens
    else aggregateTokens(aggregatedTokens, timeProvider)
  }
} 
开发者ID:vitalcode,项目名称:date-time-range-parser,代码行数:52,代码来源:DateTimeInterval.scala

示例4: Converters

//设置package包名称以及导入依赖的类
package com.github.akhil.slick

import java.time.{ LocalDate, LocalDateTime, LocalTime }

import com.github.akhil.slick.converter._

object Converters {

  implicit class WrappedLocalDateTime(d: LocalDateTime) extends LocalDateTimeSqlTimestampConverter {
    def toSqlTimestamp(): java.sql.Timestamp = toSqlType(d)
  }

  implicit class WrappedLocalDateTimeOption(d: Option[LocalDateTime]) extends LocalDateTimeSqlTimestampConverter {
    def toSqlTimestampOption(): Option[java.sql.Timestamp] = d.map(toSqlType)
  }

  implicit class WrappedLocalDate(d: LocalDate) extends LocalDateSqlDateConverter {
    def toSqlDate(): java.sql.Date = toSqlType(d)
  }

  implicit class WrappedLocalDateOption(d: Option[LocalDate]) extends LocalDateSqlDateConverter {
    def toSqlDateOption(): Option[java.sql.Date] = d.map(toSqlType)
  }

  implicit class WrappedLocalTime(t: LocalTime) extends LocalTimeSqlTimeConverter {
    def toSqlTime(): java.sql.Time = toSqlType(t)
  }

  implicit class WrappedLocalTimeOption(t: Option[LocalTime]) extends LocalTimeSqlTimeConverter {
    def toSqlTimeOption(): Option[java.sql.Time] = t.map(toSqlType)
  }

  implicit class WrappedSqlTimestampForLocalDateTime(t: java.sql.Timestamp) extends LocalDateTimeSqlTimestampConverter {
    def toLocalDateTime(): LocalDateTime = fromSqlType(t)
  }

  implicit class WrappedSqlTimestampOptionForLocalDateTime(t: Option[java.sql.Timestamp]) extends LocalDateTimeSqlTimestampConverter {
    def toLocalDateTimeOption(): Option[LocalDateTime] = t.map(fromSqlType)
  }

  implicit class WrappedSqlTime(t: java.sql.Time) extends LocalTimeSqlTimeConverter {
    def toLocalTime(): LocalTime = fromSqlType(t)
  }

  implicit class WrappedSqlTimeOption(t: Option[java.sql.Time]) extends LocalTimeSqlTimeConverter {
    def toLocalTimeOption(): Option[LocalTime] = t.map(fromSqlType)
  }

  implicit class WrappedSqlDate(d: java.sql.Date) extends LocalDateSqlDateConverter {
    def toLocalDate(): LocalDate = fromSqlType(d)
  }

  implicit class WrappedSqlDateOption(d: Option[java.sql.Date]) extends LocalDateSqlDateConverter {
    def toLocalDateOption(): Option[LocalDate] = d.map(fromSqlType)
  }

} 
开发者ID:akhil,项目名称:slick-javatime-mapper,代码行数:58,代码来源:Converters.scala

示例5: Identifiers

//设置package包名称以及导入依赖的类
package com.kimstebel.alexa

import java.time.LocalTime
import org.http4s._
import org.http4s.dsl._
import org.http4s.client.blaze._
import org.json4s._
import org.json4s.native.JsonMethods._




case class Identifiers(global: Option[String])

case class AuthResponse(
  token: String,
  persistentToken: String,
  userId: String,
  username: String,
  identifiers: Identifiers,
  roles: Seq[String],
  userCreationTime: LocalTime
)

object AuthClient {
  
  private val client = PooledHttp1Client()
  
  def apply = {
    val Seq(user, password, account) = Seq("user", "password", "account").map(key => Config.conf.getString(s"""secrets."alexa.uat.test-$key""""))
    
    val loginUri = Uri.uri("https://myovo-uat.ovoenergy.com/api/auth/login")
    val req = Request(POST, loginUri).withBody(s"""
{
    "username": "$user",
    "password": "$password",
    "rememberMe": true
}
""").replaceAllHeaders(Header("Accept", "application/json")).withType(MediaType.`application/json`)

//replaceAllHeaders(Header("Content-Type", "application/json;charset=UTF-8"))
    val res = client.expect[String](req).run
    implicit val formats = DefaultFormats
    
    
    
    (user, password, account)
  }
} 
开发者ID:KimStebel,项目名称:magic8ball,代码行数:50,代码来源:AuthClient.scala

示例6: Now

//设置package包名称以及导入依赖的类
package akka.http

import java.time.LocalTime

import akka.actor.ActorSystem
import akka.http.scaladsl.Http
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.model.StatusCodes._
import akka.http.scaladsl.testkit.ScalatestRouteTest
import com.typesafe.config.ConfigFactory
import org.scalatest._
import spray.json.DefaultJsonProtocol

case class Now(time: String = LocalTime.now.toString)

trait NowService extends DefaultJsonProtocol with SprayJsonSupport {
  import akka.http.scaladsl.server.Directives._
  import akka.http.scaladsl.marshalling._
  import akka.http.scaladsl.model.HttpResponse
  implicit val nowFormat = jsonFormat1(Now)

  val routes = path("now") {
    get {
      complete(ToResponseMarshallable[Now](Now()))
    } ~
    post {
      entity(as[Now]) { now =>
        if (now.time.isEmpty) complete(HttpResponse(NotFound)) else complete(HttpResponse(OK))
      }
    }
  }
}

class HttpJsonTest extends WordSpec with Matchers with ScalatestRouteTest with BeforeAndAfterAll with NowService {
  val actorRefFactory = ActorSystem.create("now", ConfigFactory.load("test.conf"))
  val server = Http().bindAndHandle(routes, "localhost", 0)

  override protected def afterAll(): Unit = {
    server.flatMap(_.unbind()).onComplete(_ ? system.terminate())
  }

  "NowService" should {
    "handle get and post." in {
      Get("/now") ~> routes ~> check {
        responseAs[Now].time.nonEmpty shouldBe true
      }
      Post("/now", Now()) ~> routes ~> check {
        status shouldBe StatusCodes.OK
      }
    }
  }
} 
开发者ID:objektwerks,项目名称:akka.http,代码行数:54,代码来源:HttpJsonTest.scala

示例7: TimeParser

//设置package包名称以及导入依赖的类
package performanceanalysis

import java.time.LocalTime

import scala.util.Try
import scala.util.matching.Regex.Match

class TimeParser(shift: Int) {

  private val iHour = shift + 1

  private val iMin = shift + 2

  private val iSec = shift + 3

  private val iNano = iSec + 1

  private def nanoOption(s: String): Option[String] = {
    val nanoTry = Try(Option(s))
    nanoTry.toOption.flatten
  }

  def parse(m: Match): LocalTime = {
    val hour = m.group(iHour).toInt
    val min = m.group(iMin).toInt
    val sec = m.group(iSec).toInt
    val nano = nanoOption(m.group(iNano)) match {
      case None => 0
      case Some(".") => 0
      case Some(s) => (s.toDouble * 1000000000).toInt
    }
    LocalTime.of(hour, min, sec, nano)
  }

} 
开发者ID:scala-academy,项目名称:performance-analysis,代码行数:36,代码来源:TimeParser.scala

示例8: Scheduler

//设置package包名称以及导入依赖的类
package net.seabears.hockey

import java.time.{LocalDate, LocalTime, ZonedDateTime}
import java.time.format.DateTimeFormatter

import net.ruippeixotog.scalascraper.browser.JsoupBrowser
import net.ruippeixotog.scalascraper.dsl.DSL._
import net.ruippeixotog.scalascraper.dsl.DSL.Extract._
import net.ruippeixotog.scalascraper.dsl.DSL.Parse._
import net.ruippeixotog.scalascraper.model.Element

import net.seabears.hockey.core._
import net.seabears.hockey.util.DateUtils

object Scheduler {
  def apply(adapterFactory: Game => GameAdapter, dateStart: String, dateEnd: String, host: String)(implicit userAgentFactory: () => String, pauseFactory: () => Unit) =
    new Scheduler(adapterFactory, host, DateUtils.dates(dateStart, dateEnd), userAgentFactory, pauseFactory)
}

class Scheduler(adapterFactory: Game => GameAdapter, host: String, dates: Seq[LocalDate], userAgentFactory: () => String, pauseFactory: () => Unit) {
  private[this] val formatter = DateTimeFormatter.ofPattern("yyyyMMdd")
  private[this] val browser = new JsoupBrowser(userAgentFactory())

  def run() {
    dates.flatMap(getGames)
         .map(adapterFactory)
         .filter(_.isNew)
         .foreach(_.save)
  }

  private[this] def getGames(date: LocalDate): List[FutureGame] = {
    val dayId = date.format(formatter)
    val url = host + dayId
    println("Searching for games at " + url)
    val doc = browser.get(url)
    val tables: List[Element] = doc >> elementList("div.game-header")
    tables.map(toGame(date))
  }

  private def toGame(date: LocalDate)(element: Element): FutureGame = {
    pauseFactory()
    val away = element.select("table.game-header-table tr:nth-child(1) td.team-name").head.text
    val home = element.select("table.game-header-table tr:nth-child(3) td.team-name").head.text
    val time = element.select("ul.game-info li:nth-child(2) span:first-child").head.text
    FutureGame(Team("", home), Team("", away), parseTime(date, time))
  }

  private def parseTime(date: LocalDate, timeToParse: String) = {
    val gameTime = """^\s*(\d+:\d+\s+\w+)\s+(\w+)\s*$""".r
    val gameTime(rawTime, rawZone) = timeToParse
    val time = LocalTime.parse(rawTime, DateTimeFormatter.ofPattern("h:mm a"))
    ZonedDateTime.of(date, time, DateUtils.parseZone(rawZone))
  }
} 
开发者ID:cberes,项目名称:hockey-stats-loader,代码行数:55,代码来源:scheduler.scala

示例9: Settings

//设置package包名称以及导入依赖的类
package WorkDayLength

import java.time.LocalTime
import java.time.format.DateTimeFormatter

import com.typesafe.config.Config

class Settings(config: Config) {

  val app = new AppSettings(config.getConfig("app"))
  val httpClient = new HttpSettings(config.getConfig("app.http"))

  override def toString: String = s"App: $app; HttpClient: $httpClient"
}

class AppSettings(config: Config) {
  val startDate = config.getString("startDate")
  val endDate = config.getString("endDate")
  val minimalTime = config.getInt("grouping.max_timeout")
  val dayStartsAt = LocalTime.parse(config.getString("dayStartsAt"), DateTimeFormatter.ISO_LOCAL_TIME)
  val dayEndsAt = LocalTime.parse(config.getString("dayEndsAt"), DateTimeFormatter.ISO_LOCAL_TIME)

  override def toString: String = s"startDate: $startDate, endDate: $endDate, minimalTime: $minimalTime"
}

class HttpSettings(config: Config) {
  val key = config.getString("key")
  val protocol = config.getString("protocol")
  val hostname = config.getString("hostname")
  val port = config.getInt("port")

  override def toString: String = s"protocol: $protocol, hostname: $hostname, port: $port, key: $key"
} 
开发者ID:denyago,项目名称:work_day_length,代码行数:34,代码来源:Settings.scala

示例10: DayLength

//设置package包名称以及导入依赖的类
package WorkDayLength.Reports

import java.time.format.DateTimeFormatter
import java.time.{Duration, LocalTime}

import WorkDayLength.{TimeEntry, TimeEntryHelper}


object DayLength {
  def result(entries: List[TimeEntry], dayStartsAt: LocalTime, dayEndsAt: LocalTime): String = {

    def closestIndex(entries: List[TimeEntry], time: LocalTime): Int = {
      entries.
      zipWithIndex.
      map(pair => {
        val distance = Duration.between(time, pair._1.startsAt.toLocalTime).getSeconds
        val index = pair._2
        (Math.abs(distance), index)
      }).
      minBy(_._1).
      _2
    }

    val closestIndexToStart = closestIndex(entries, dayStartsAt)
    val closestIndexToEnd = closestIndex(entries, dayEndsAt)

    val workEntries = entries.slice(closestIndexToStart, closestIndexToEnd + 1)

    // TODO: Summerize properly
    val startAt = TimeEntryHelper.startsEarliest(workEntries).startsAt
    val endAt = TimeEntryHelper.endsLatest(workEntries).endsAt
    val overallDuration = TimeEntryHelper.addDurations(workEntries)

    startAt.toLocalDate + ": Worked from " +
      startAt.toLocalTime + " till " + endAt.toLocalTime + " for " +
      TimeEntryHelper.DurationParts(overallDuration).toString
  }
} 
开发者ID:denyago,项目名称:work_day_length,代码行数:39,代码来源:DayLength.scala

示例11: DayLengthSpec

//设置package包名称以及导入依赖的类
package unit

import java.time.LocalTime

import WorkDayLength.Reports.DayLength
import WorkDayLength.TimeEntry

class DayLengthSpec extends UnitSpec{
  it("returns all activities within 'workday relative time'") {
    val dayStartsAt = LocalTime.parse("09:45")
    val dayEndsAt = LocalTime.parse("18:40")
    // Delta is 5 minutes
    val entries = List(
      TimeEntry("2016-04-13T09:30:00", 60, 1, "early activity", "", 0), // out
      TimeEntry("2016-04-13T09:41:00", 60, 1, "first activity", "", 0), // in for 1 minutes
      TimeEntry("2016-04-13T12:00:00", 60, 1, "second activity", "", 0), // in for 1 minute
      TimeEntry("2016-04-13T12:01:00", 60, 1, "after second activity", "", 0), // in for 1 minute
      TimeEntry("2016-04-13T18:43:00", 60, 1, "third activity", "", 0), // in for 1 minute
      TimeEntry("2016-04-13T18:50:00", 60, 1, "late activity", "", 0) // out for 1 minute
    )

    DayLength.result(entries, dayStartsAt, dayEndsAt) shouldBe "2016-04-13: Worked from 09:41 till 18:44 for 4 minutes"
  }
} 
开发者ID:denyago,项目名称:work_day_length,代码行数:25,代码来源:DayLengthSpec.scala

示例12: FutureDemo

//设置package包名称以及导入依赖的类
package scalaDemo

import java.time.LocalTime

import scala.concurrent.Future
import java.time._
import java.time._
import scala.concurrent._
import scala.concurrent.duration._
import scala.concurrent._
import ExecutionContext.Implicits.global

object FutureDemo extends App {
  Future {
    Thread.sleep(10000)
    println(s"This is the future at ${LocalTime.now}")
  }
  println(s"This is the present at ${LocalTime.now}")

  Thread.sleep(11000)

  Future { for (i <- 1 to 100) { print("A"); Thread.sleep(10) } }
  Future { for (i <- 1 to 100) { print("B"); Thread.sleep(10) } }

  Thread.sleep(2000)

  val f = Future {
    Thread.sleep(10000)
    42
  }
  println(f)

  Thread.sleep(11000)

  println(f)

  val f23 = Future {
    if (LocalTime.now.getHour > 12)
      throw new Exception("too late")
    42
  }
  Thread.sleep(1000)
  println(f23)


  val f4 = Future { Thread.sleep(10000); 42 }
  val result = Await.result(f4, 11.seconds)
  println(result)

  val f2 = Future { Thread.sleep(10000); 42 }
  Await.ready(f2, 11.seconds)
  val Some(t) = f2.value
  println(t)
} 
开发者ID:tophua,项目名称:spark1.52,代码行数:55,代码来源:FutureDemo.scala

示例13: TemperatureChecker

//设置package包名称以及导入依赖的类
package io.tardieu.netwemo.checkers

import java.time.{DayOfWeek, LocalDateTime, LocalTime}

import akka.actor.Props
import com.typesafe.config.ConfigFactory
import io.tardieu.netwemo.Utils
import io.tardieu.netwemo.connectors.{NetatmoConnector, WemoConnector}

import scala.concurrent.Future

object TemperatureChecker {

  def props(wemoConnector: WemoConnector, netatmoConnector: NetatmoConnector): Props =
    Props(new TemperatureChecker(wemoConnector, netatmoConnector))

}

class TemperatureChecker private (val wemoConnector: WemoConnector, val netatmoConnector: NetatmoConnector)
  extends Checker {

  val conf = ConfigFactory.load.getConfig("temperature")

  // Those values should be read from the database
  val lowThreshold = conf.getDouble("lowThreshold").toFloat
  val highThreshold = conf.getDouble("highThreshold").toFloat
  val coldLowThreshold = conf.getDouble("coldLowThreshold").toFloat
  val coldHighThreshold = conf.getDouble("coldHighThreshold").toFloat
  val coldStartTime: LocalTime = LocalTime.of(conf.getInt("coldHourStart"), conf.getInt("coldMinuteStart"))
  val coldStopTime: LocalTime = LocalTime.of(conf.getInt("coldHourStop"), conf.getInt("coldMinuteStop"))

  override val deviceName = conf.getString("deviceName")

  private def isWorkingDay: Boolean =
    LocalDateTime.now.getDayOfWeek match {
      case DayOfWeek.SATURDAY | DayOfWeek.SUNDAY => false
      case _ => true
    }

  private def inColdHours(startTime: LocalTime, stopTime: LocalTime): Boolean = {
    val now = LocalTime.now()
    val b = Utils.inBetween(now, startTime, stopTime) && isWorkingDay
    log.debug("In cold hours: {}", b)
    b
  }

  override def checkValue: Future[Float] = netatmoConnector.getTemperature

  override def computeDesiredState(value: Float): Option[Boolean] = {
    inColdHours(coldStartTime, coldStopTime) match {
      case true => computeState(value, coldLowThreshold, coldHighThreshold)
      case false => computeState(value, lowThreshold, highThreshold)
    }
  }

} 
开发者ID:jacobtardieu,项目名称:Netwemo,代码行数:57,代码来源:TemperatureChecker.scala

示例14: HumidityChecker

//设置package包名称以及导入依赖的类
package io.tardieu.netwemo.checkers
import java.time.LocalTime

import akka.actor.Props
import com.typesafe.config.ConfigFactory
import io.tardieu.netwemo.Utils
import io.tardieu.netwemo.connectors.{NetatmoConnector, WemoConnector}

import scala.concurrent.Future

object HumidityChecker {

  def props(wemoConnector: WemoConnector, netatmoConnector: NetatmoConnector): Props =
    Props(new HumidityChecker(wemoConnector, netatmoConnector))

}

class HumidityChecker private (val wemoConnector: WemoConnector, val netatmoConnector: NetatmoConnector)
  extends Checker {

  val conf = ConfigFactory.load.getConfig("humidity")

  // Those values should be read from the database
  private val startTime: LocalTime = LocalTime.of(conf.getInt("startHour"), conf.getInt("stopMinute"))
  private val stopTime: LocalTime = LocalTime.of(conf.getInt("stopHour"), conf.getInt("stopMinute"))
  private val lowThreshold = conf.getInt("lowThreshold")
  private val highThreshold = conf.getInt("highThreshold")

  override def deviceName: String = conf.getString("deviceName")

  override def checkValue: Future[Float] = netatmoConnector.getHumidity

  private def inService(startTime: LocalTime, stopTime: LocalTime): Boolean = {
    val now = LocalTime.now()
    val b = Utils.inBetween(now, startTime, stopTime)
    log.debug(s"Humidity in service: {}", b)
    b
  }

  override def computeDesiredState(value: Float): Option[Boolean] = {
    inService(startTime, stopTime) match {
      case true => computeState(value, lowThreshold, highThreshold).map(!_) // We want to switch on the
        // deshumidifier if the value is too high
      case false => Some(false)
    }
  }
} 
开发者ID:jacobtardieu,项目名称:Netwemo,代码行数:48,代码来源:HumidityChecker.scala

示例15: UtilsSpec

//设置package包名称以及导入依赖的类
package io.tardieu.netwemo

import java.time.LocalTime

import org.scalatest.{FlatSpec, Matchers}

class UtilsSpec extends FlatSpec with Matchers {

  "The inBetween method" should
  "work with startTime before stopTime" in {
    val startTime = LocalTime.parse("08:00")
    val stopTime = LocalTime.parse("18:00")
    val before = LocalTime.parse("06:54")
    val during = LocalTime.parse("14:43")
    val after = LocalTime.parse("20:22")
    Utils.inBetween(before, startTime, stopTime) shouldBe false
    Utils.inBetween(during, startTime, stopTime) shouldBe true
    Utils.inBetween(after, startTime, stopTime) shouldBe false
  }
  it should "work with startTime after stopTime" in {
    val startTime = LocalTime.parse("22:00")
    val stopTime = LocalTime.parse("02:00")
    val before = LocalTime.parse("21:54")
    val during1 = LocalTime.parse("22:43")
    val during2 = LocalTime.parse("00:32")
    val after = LocalTime.parse("08:11")
    Utils.inBetween(before, startTime, stopTime) shouldBe false
    Utils.inBetween(during1, startTime, stopTime) shouldBe true
    Utils.inBetween(during2, startTime, stopTime) shouldBe true
    Utils.inBetween(after, startTime, stopTime) shouldBe false
  }

} 
开发者ID:jacobtardieu,项目名称:Netwemo,代码行数:34,代码来源:UtilsSpec.scala


注:本文中的java.time.LocalTime类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。