blob: 80ac7512bea545545959610ba209f29267ac3d73 [file] [log] [blame]
/*
* Copyright (C) 2015 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.build.gradle.integration.common.truth;
import static com.google.common.truth.Truth.assertThat;
import com.android.annotations.NonNull;
import com.android.builder.model.SyncIssue;
import org.junit.Test;
public class IssueSubjectTest {
private static final class FakeIssue implements SyncIssue {
private int severity;
private int type;
private String data;
private String message;
public FakeIssue(int severity, int type) {
this(severity, type, "", "");
}
public FakeIssue(int severity, int type, String data) {
this(severity, type, data, "");
}
public FakeIssue(int severity, int type, String data, String message) {
this.severity = severity;
this.type = type;
this.data = data;
this.message = message;
}
@Override
public int getType() {
return type;
}
@Override
public int getSeverity() {
return severity;
}
@NonNull
@Override
public String getData() {
return data;
}
@NonNull
@Override
public String getMessage() {
return message;
}
}
@Test
public void badSeverity() {
FakeFailureStrategy failure = new FakeFailureStrategy();
SyncIssue issue = new FakeIssue(1, 2);
IssueSubject subject = new IssueSubject(failure, issue);
subject.hasSeverity(0);
assertThat(failure.message).is("Not true that <1|2|> has severity <0>. It is <1>");
}
@Test
public void badType() {
FakeFailureStrategy failure = new FakeFailureStrategy();
SyncIssue issue = new FakeIssue(1, 2);
IssueSubject subject = new IssueSubject(failure, issue);
subject.hasType(0);
assertThat(failure.message).is("Not true that <1|2|> has type <0>. It is <2>");
}
@Test
public void badData() {
FakeFailureStrategy failure = new FakeFailureStrategy();
SyncIssue issue = new FakeIssue(1, 2, "foo");
IssueSubject subject = new IssueSubject(failure, issue);
subject.hasData("bar");
assertThat(failure.message).is("Not true that <1|2|foo> has data <bar>. It is <foo>");
}
@Test
public void badMessage() {
FakeFailureStrategy failure = new FakeFailureStrategy();
SyncIssue issue = new FakeIssue(1, 2, "foo", "bob");
IssueSubject subject = new IssueSubject(failure, issue);
subject.hasMessage("robert");
assertThat(failure.message).is("Not true that <1|2|foo> has message <robert>. It is <bob>");
}
}