- t failing unit test

This commit is contained in:
Nitsan Avni 2023-12-23 18:18:38 +01:00
parent 56ca5bf411
commit 4490aaa5fd
3 changed files with 57 additions and 3 deletions

View File

@ -1,4 +1,34 @@
A pure "function", so this works: # Requirements
`bash` and friends (`diff`, `grep`, `cat`)
# (Failing) Unit Test
```shell
./unit_test.sh
```
# Texttest Fixture
```shell
./texttest_fixture.sh
```
Specify days:
```shell
./texttest_fixture.sh 30
```
Verify againt `ThirtyDays/stdout.gr`
```shell
./verify.sh
```
## BTW
BTW, the script is a pure "function", so this works:
```shell ```shell
$ echo -e 'Aged Brie,3,5\nOther Item,4,5' |\ $ echo -e 'Aged Brie,3,5\nOther Item,4,5' |\
@ -7,4 +37,4 @@ $ echo -e 'Aged Brie,3,5\nOther Item,4,5' |\
./gilded_rose.sh ./gilded_rose.sh
Aged Brie,0,8 Aged Brie,0,8
Other Item,1,2 Other Item,1,2
``` ```

21
bash/unit_test.sh Executable file
View File

@ -0,0 +1,21 @@
#!/bin/bash
GILDED_ROSE_SCRIPT="./gilded_rose.sh"
get_name() {
grep -o '^[^|]*'
}
assert_equals() {
local expected="$1"
diff -u - <(echo "$expected")
}
test_foo() {
echo "foo|0|0" |
bash "$GILDED_ROSE_SCRIPT" |
get_name |
assert_equals "fixme"
}
test_foo

View File

@ -1,3 +1,6 @@
#!/bin/bash #!/bin/bash
./texttest_fixture.sh 30 | diff -u - ../texttests/ThirtyDays/stdout.gr ./texttest_fixture.sh 30 |
diff -u - ../texttests/ThirtyDays/stdout.gr &&
echo "✅ looks good" ||
(echo "❌ failed" && exit 1)