/* Pominal Copyright (C) 2019 Daniel Anglin This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ package main import ( "reflect" "testing" ) const success = "\u2713" const failure = "\u2717" // TestNewPominal validates the factory function for generating new // Pominal values func TestNewPominal(t *testing.T) { t.Log("Given the need to test creating a new value of type Pominal.") { for _, p := range pominalTestCases { testFunc := func(t *testing.T) { t.Log(p.description) res := NewPominal( p.workSession, p.shortBreakSession, p.longBreakSession, p.maxWorkSessions, ) if !reflect.DeepEqual(res, p.expectedPominal) { t.Errorf("%s\tUnexpected Pominal created. Expected %v, received %v.", failure, p.expectedPominal, res) } else { t.Logf("%s\tTest passed.", success) } } t.Run(p.name, testFunc) } } }