github.com/1r0npipe/go-file-find-duplicate@v0.0.0-20210531131222-12a9193c59d9/helper/helper_StubFS_test.go (about)

     1  // +build integration
     2  
     3  package helper
     4  
     5  import (
     6  	"io/fs"
     7  	"log"
     8  	"testing/fstest"
     9  
    10  	"github.com/stretchr/testify/assert"
    11  	"testing"
    12  )
    13  // Defined duplicated below:
    14  // Duplicate: test1/clone2, with size 9 byte(-s);
    15  // Duplicate: test3/clone2, with size 9 byte(-s);
    16  // Duplicate: test2/unique, with size 9 byte(-s);
    17  // Duplicate: test3/unique, with size 9 byte(-s);
    18  // Duplicate: test3/clone1, with size 9 byte(-s);
    19  var fakeFS = fstest.MapFS{
    20  	// root-folder
    21  	"testDir": {
    22  		Data: []byte("Text-test"),
    23  		Mode: fs.ModeIrregular,
    24  	},
    25  	"clone2": {
    26  		Data: []byte("Text-test"),
    27  		Mode: fs.ModeIrregular,
    28  	},
    29  	//test1
    30  	"test1": {
    31  		Mode: fs.ModeDir,
    32  	},
    33  	"test1/clone1": {
    34  		Data: []byte("Text-test"),
    35  		Mode: fs.ModeIrregular,
    36  	},
    37  	"test1/clone2": {
    38  		Data: []byte("Text-test"),
    39  		Mode: fs.ModeIrregular,
    40  	},
    41  	"test1/unique": {
    42  		Data: []byte("Text-test"),
    43  		Mode: fs.ModeIrregular,
    44  	},
    45  	//test2
    46  	"test2": {
    47  		Mode: fs.ModeDir,
    48  	},
    49  	"test2/clone1": {
    50  		Data: []byte("clone1"),
    51  		Mode: fs.ModeIrregular,
    52  	},
    53  	"test2/clone3": {
    54  		Data: []byte("Text-test"),
    55  		Mode: fs.ModeIrregular,
    56  	},
    57  	"test2/unique": {
    58  		Data: []byte("Text-test"),
    59  		Mode: fs.ModeIrregular,
    60  	},
    61  	//test3
    62  	"test3": {
    63  		Mode: fs.ModeDir,
    64  	},
    65  	"test3/clone1": {
    66  		Data: []byte("Text-test"),
    67  		Mode: fs.ModeIrregular,
    68  	},
    69  	"test3/clone2": {
    70  		Data: []byte("Text-test"),
    71  		Mode: fs.ModeIrregular,
    72  	},
    73  	"test3/unique": {
    74  		Data: []byte("Text-test"),
    75  		Mode: fs.ModeIrregular,
    76  	},
    77  	"test3/unique2": {
    78  		Data: []byte("Text-test"),
    79  		Mode: fs.ModeIrregular,
    80  	},
    81  }
    82  
    83  func TestFindDupByFakeFS(t *testing.T) {
    84  	testsTab := []struct {
    85  		got  int64
    86  	}{
    87  		{got: 5},
    88  	}
    89  	for _, tt := range testsTab {
    90  		err := DuplicatesFind(fakeFS, false)
    91  		if err != nil {
    92  			log.Fatal("Can't get duplicates")
    93  		}
    94  		assert.Equal(t, tt.got, FilesDuplicates, "Not same amount of found duplicates")
    95  	}
    96  }