Implement NotEqualValues · stretchr/testify@ac1463f (original) (raw)

`@@ -222,6 +222,10 @@ func TestEqual(t *testing.T) {

`

222

222

`if Equal(mockT, myType("1"), myType("2")) {

`

223

223

`t.Error("Equal should return false")

`

224

224

` }

`

``

225

`+

// A case that might be confusing, especially with numeric literals

`

``

226

`+

if Equal(mockT, 10, uint(10)) {

`

``

227

`+

t.Error("Equal should return false")

`

``

228

`+

}

`

225

229

`}

`

226

230

``

227

231

`func ptr(i int) *int {

`

`@@ -544,6 +548,70 @@ func TestNotEqual(t *testing.T) {

`

544

548

`if NotEqual(mockT, &struct{}{}, &struct{}{}) {

`

545

549

`t.Error("NotEqual should return false")

`

546

550

` }

`

``

551

+

``

552

`+

// A case that might be confusing, especially with numeric literals

`

``

553

`+

if !NotEqual(mockT, 10, uint(10)) {

`

``

554

`+

t.Error("NotEqual should return false")

`

``

555

`+

}

`

``

556

`+

}

`

``

557

+

``

558

`+

func TestNotEqualValues(t *testing.T) {

`

``

559

+

``

560

`+

mockT := new(testing.T)

`

``

561

+

``

562

`+

// Same tests as NotEqual since they behave the same when types are irrelevant

`

``

563

`+

if !NotEqualValues(mockT, "Hello World", "Hello World!") {

`

``

564

`+

t.Error("NotEqualValues should return true")

`

``

565

`+

}

`

``

566

`+

if !NotEqualValues(mockT, 123, 1234) {

`

``

567

`+

t.Error("NotEqualValues should return true")

`

``

568

`+

}

`

``

569

`+

if !NotEqualValues(mockT, 123.5, 123.55) {

`

``

570

`+

t.Error("NotEqualValues should return true")

`

``

571

`+

}

`

``

572

`+

if !NotEqualValues(mockT, []byte("Hello World"), []byte("Hello World!")) {

`

``

573

`+

t.Error("NotEqualValues should return true")

`

``

574

`+

}

`

``

575

`+

if !NotEqualValues(mockT, nil, new(AssertionTesterConformingObject)) {

`

``

576

`+

t.Error("NotEqualValues should return true")

`

``

577

`+

}

`

``

578

`+

if NotEqualValues(mockT, nil, nil) {

`

``

579

`+

t.Error("NotEqualValues should return false")

`

``

580

`+

}

`

``

581

`+

if NotEqualValues(mockT, "Hello World", "Hello World") {

`

``

582

`+

t.Error("NotEqualValues should return false")

`

``

583

`+

}

`

``

584

`+

if NotEqualValues(mockT, 123, 123) {

`

``

585

`+

t.Error("NotEqualValues should return false")

`

``

586

`+

}

`

``

587

`+

if NotEqualValues(mockT, 123.5, 123.5) {

`

``

588

`+

t.Error("NotEqualValues should return false")

`

``

589

`+

}

`

``

590

`+

if NotEqualValues(mockT, []byte("Hello World"), []byte("Hello World")) {

`

``

591

`+

t.Error("NotEqualValues should return false")

`

``

592

`+

}

`

``

593

`+

if NotEqualValues(mockT, new(AssertionTesterConformingObject), new(AssertionTesterConformingObject)) {

`

``

594

`+

t.Error("NotEqualValues should return false")

`

``

595

`+

}

`

``

596

`+

if NotEqualValues(mockT, &struct{}{}, &struct{}{}) {

`

``

597

`+

t.Error("NotEqualValues should return false")

`

``

598

`+

}

`

``

599

+

``

600

`+

// Special cases where NotEqualValues behaves differently

`

``

601

`+

funcA := func() int { return 23 }

`

``

602

`+

funcB := func() int { return 42 }

`

``

603

`+

if !NotEqualValues(mockT, funcA, funcB) {

`

``

604

`+

t.Error("NotEqualValues should return true")

`

``

605

`+

}

`

``

606

`+

if !NotEqualValues(mockT, int(10), int(11)) {

`

``

607

`+

t.Error("NotEqualValues should return true")

`

``

608

`+

}

`

``

609

`+

if NotEqualValues(mockT, int(10), uint(10)) {

`

``

610

`+

t.Error("NotEqualValues should return false")

`

``

611

`+

}

`

``

612

`+

if NotEqualValues(mockT, struct{}{}, struct{}{}) {

`

``

613

`+

t.Error("NotEqualValues should return false")

`

``

614

`+

}

`

547

615

`}

`

548

616

``

549

617

`type A struct {

`

`@@ -2139,6 +2207,7 @@ func TestComparisonAssertionFunc(t *testing.T) {

`

2139

2207

` {"isType", (*testing.T)(nil), t, IsType},

`

2140

2208

` {"equal", t, t, Equal},

`

2141

2209

` {"equalValues", t, t, EqualValues},

`

``

2210

`+

{"notEqualValues", t, nil, NotEqualValues},

`

2142

2211

` {"exactly", t, t, Exactly},

`

2143

2212

` {"notEqual", t, nil, NotEqual},

`

2144

2213

` {"notContains", []int{1, 2, 3}, 4, NotContains},

`