github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/cmd/juju/crossmodel/showformatter_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package crossmodel_test 5 6 import ( 7 gc "gopkg.in/check.v1" 8 9 "github.com/juju/juju/cmd/juju/crossmodel" 10 "github.com/juju/juju/testing" 11 ) 12 13 type funcSuite struct { 14 testing.BaseSuite 15 } 16 17 func (s *funcSuite) SetUpTest(c *gc.C) { 18 s.BaseSuite.SetUpTest(c) 19 } 20 21 var _ = gc.Suite(&funcSuite{}) 22 23 func (s *funcSuite) TestMaxFirstBigger(c *gc.C) { 24 c.Assert(crossmodel.Max(3, 1), gc.DeepEquals, 3) 25 } 26 27 func (s *funcSuite) TestMaxLastBigger(c *gc.C) { 28 c.Assert(crossmodel.Max(1, 3), gc.DeepEquals, 3) 29 } 30 31 func (s *funcSuite) TestMaxEquals(c *gc.C) { 32 c.Assert(crossmodel.Max(3, 3), gc.DeepEquals, 3) 33 } 34 35 func (s *funcSuite) TestAtInRange(c *gc.C) { 36 desc := []string{"one", "two"} 37 c.Assert(crossmodel.DescAt(desc, 0), gc.DeepEquals, desc[0]) 38 c.Assert(crossmodel.DescAt(desc, 1), gc.DeepEquals, desc[1]) 39 } 40 41 func (s *funcSuite) TestAtOutRange(c *gc.C) { 42 desc := []string{"one", "two"} 43 c.Assert(crossmodel.DescAt(desc, 2), gc.DeepEquals, "") 44 c.Assert(crossmodel.DescAt(desc, 10), gc.DeepEquals, "") 45 } 46 47 func (s *funcSuite) TestBreakLinesEmpty(c *gc.C) { 48 empty := "" 49 c.Assert(crossmodel.BreakLines(empty), gc.DeepEquals, []string{empty}) 50 } 51 52 func (s *funcSuite) TestBreakLinesOneWord(c *gc.C) { 53 aWord := "aWord" 54 c.Assert(crossmodel.BreakLines(aWord), gc.DeepEquals, []string{aWord}) 55 } 56 57 func (s *funcSuite) TestBreakLinesManyWordsOneLine(c *gc.C) { 58 aWord := "aWord aWord aWord aWord aWord" 59 c.Assert(crossmodel.BreakLines(aWord), gc.DeepEquals, []string{aWord}) 60 } 61 62 func (s *funcSuite) TestBreakLinesManyWordsManyLines(c *gc.C) { 63 aWord := "aWord aWord aWord aWord aWord aWord aWord aWord aWord aWord" 64 c.Assert(crossmodel.BreakLines(aWord), gc.DeepEquals, 65 []string{ 66 "aWord aWord aWord aWord aWord aWord aWord", 67 "aWord aWord aWord", 68 }) 69 } 70 71 func (s *funcSuite) TestBreakOneWord(c *gc.C) { 72 aWord := "aWord" 73 c.Assert(crossmodel.BreakOneWord(aWord), gc.DeepEquals, []string{aWord}) 74 } 75 76 func (s *funcSuite) TestBreakOneLongWord(c *gc.C) { 77 aWord := "aVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryaWordaWordaWordaWordaWordaWord" 78 c.Assert(crossmodel.BreakOneWord(aWord), gc.DeepEquals, 79 []string{ 80 aWord[0:crossmodel.ColumnWidth], 81 aWord[crossmodel.ColumnWidth : crossmodel.ColumnWidth*2], 82 aWord[crossmodel.ColumnWidth*2:], 83 }) 84 }