generated from nhcarrigan/template
Reviewed-on: https://codeberg.org/nhcarrigan/tingle-bot/pulls/1 Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com> Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
103 lines
3.1 KiB
TypeScript
103 lines
3.1 KiB
TypeScript
import { describe, it, expect } from "vitest";
|
|
import { precipitations } from "../src/data/weather/precipitations.ts";
|
|
import { specials } from "../src/data/weather/specials.ts";
|
|
import { temperatures } from "../src/data/weather/temperatures.ts";
|
|
import { winds } from "../src/data/weather/winds.ts";
|
|
|
|
describe("weather Tests", () => {
|
|
describe("temperature", () => {
|
|
const temps = new Set(temperatures.map((element) => {
|
|
return element.name;
|
|
}));
|
|
it("temperatures should be unique", () => {
|
|
expect(temps.size, "temperatures are not unique!").toBe(
|
|
temperatures.length,
|
|
);
|
|
});
|
|
});
|
|
|
|
describe("winds", () => {
|
|
const wind = new Set(winds.map((element) => {
|
|
return element.name;
|
|
}));
|
|
it("winds should be unique", () => {
|
|
expect(wind.size, "winds are not unique!").toBe(winds.length);
|
|
});
|
|
});
|
|
|
|
describe("precipitations", () => {
|
|
const precip = new Set(precipitations.map((element) => {
|
|
return element.name;
|
|
}));
|
|
it("precipitations should be unique", () => {
|
|
expect(precip.size, "precipitations are not unique!").toBe(
|
|
precipitations.length,
|
|
);
|
|
});
|
|
|
|
for (const precipitation of precipitations) {
|
|
it(`${precipitation.name} should have unique temps`, () => {
|
|
if (precipitation.temps === "any") {
|
|
return;
|
|
}
|
|
const temps = new Set(precipitation.temps);
|
|
expect(temps.size, `${precipitation.name} temps are not unique!`).toBe(
|
|
precipitation.temps.length,
|
|
);
|
|
});
|
|
|
|
it(`${precipitation.name} should have unique winds`, () => {
|
|
if (precipitation.winds === "any") {
|
|
return;
|
|
}
|
|
const winds = new Set(precipitation.winds);
|
|
expect(winds.size, `${precipitation.name} winds are not unique!`).toBe(
|
|
precipitation.winds.length,
|
|
);
|
|
});
|
|
}
|
|
});
|
|
|
|
describe("specials", () => {
|
|
const spec = new Set(specials.map((element) => {
|
|
return element.name;
|
|
}));
|
|
it("specials should be unique", () => {
|
|
expect(spec.size, "specials are not unique!").toBe(specials.length);
|
|
});
|
|
|
|
for (const special of specials) {
|
|
it(`${special.name} should have unique temps`, () => {
|
|
if (special.temps === "any") {
|
|
return;
|
|
}
|
|
const temps = new Set(special.temps);
|
|
expect(temps.size, `${special.name} temps are not unique!`).toBe(
|
|
special.temps.length,
|
|
);
|
|
});
|
|
|
|
it(`${special.name} should have unique winds`, () => {
|
|
if (special.winds === "any") {
|
|
return;
|
|
}
|
|
const winds = new Set(special.winds);
|
|
expect(special.winds, "Special winds are not unique!").toHaveLength(
|
|
winds.size,
|
|
);
|
|
});
|
|
|
|
it(`${special.name} should have unique precipitation`, () => {
|
|
if (special.precipitations === "any") {
|
|
return;
|
|
}
|
|
const precip = new Set(special.precipitations);
|
|
expect(
|
|
precip.size,
|
|
`${special.name} precipitation is not unique!`,
|
|
).toBe(special.precipitations.length);
|
|
});
|
|
}
|
|
});
|
|
});
|