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  }